现在做个Windows的"记事本".
现在想获取我的"TextBox"在屏幕中的位置.网上查了好多...
Point txtMainPoint = PointToScreen(new Point(txtMain.Left, txtMain.Top));这貌似是行不同的...我的意思是,这和我获取光标的位置:
System.Windows.Forms.Cursor.Position这两个方式获得的"Point"的分辨率.貌似不一样的....
该怎么解决哈...

解决方案 »

  1.   

    因为我想求的是光标在"TextBox"中的"行号"和"列号".
    所以...
    我要用上面的两个"Point"相减....
    大家知道的...
      

  2.   


        Point p = textbox1.Location;
      

  3.   

    我想到一个新方法了....不用光标...用SelectionStart...
      

  4.   

    行号列号不需要这么做
    直接有APIhttp://blog.163.com/yl32940@126/blog/static/50356084201312614191/
      

  5.   

    呜呜....版主...我没有用过...API...我可以问下...
    " j = i / 65536;"中的 65536

    const int EM_GETSEL = 0xB0;
            const int EM_LINEFROMCHAR = 0xC9;
            const int EM_LINEINDEX = 0xBB;
    这些16进制值是怎么得知的么?
    谢谢
      

  6.   


    在Windows Platform SDK的给C程序员使用的一些头文件(比如windows.h)中有定义。不过你可以google找出它的值。
      

  7.   

    j = i / 65536
    这个意思是,我们用一个32bit的整数(4个字节)同时表示2个数,高位就是i/65536,低位就是i%65536