关于如何获取Winform上的控件"屏幕坐标"!

wonkju 2013-05-24 03:37:18
现在做个Windows的"记事本".
现在想获取我的"TextBox"在屏幕中的位置.网上查了好多...
Point txtMainPoint = PointToScreen(new Point(txtMain.Left, txtMain.Top));


这貌似是行不同的...我的意思是,这和我获取光标的位置:
System.Windows.Forms.Cursor.Position


这两个方式获得的"Point"的分辨率.貌似不一样的....
该怎么解决哈...
...全文
311 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-05-25
  • 打赏
  • 举报
回复
j = i / 65536 这个意思是,我们用一个32bit的整数(4个字节)同时表示2个数,高位就是i/65536,低位就是i%65536
threenewbee 2013-05-25
  • 打赏
  • 举报
回复
引用 7 楼 king769147 的回复:
呜呜....版主...我没有用过...API...我可以问下... " j = i / 65536;"中的 65536 和 const int EM_GETSEL = 0xB0; const int EM_LINEFROMCHAR = 0xC9; const int EM_LINEINDEX = 0xBB; 这些16进制值是怎么得知的么? 谢谢
在Windows Platform SDK的给C程序员使用的一些头文件(比如windows.h)中有定义。不过你可以google找出它的值。
wonkju 2013-05-25
  • 打赏
  • 举报
回复
呜呜....版主...我没有用过...API...我可以问下... " j = i / 65536;"中的 65536 和 const int EM_GETSEL = 0xB0; const int EM_LINEFROMCHAR = 0xC9; const int EM_LINEINDEX = 0xBB; 这些16进制值是怎么得知的么? 谢谢
threenewbee 2013-05-24
  • 打赏
  • 举报
回复
行号列号不需要这么做 直接有API http://blog.163.com/yl32940@126/blog/static/50356084201312614191/
wonkju 2013-05-24
  • 打赏
  • 举报
回复
我想到一个新方法了....不用光标...用SelectionStart...
wonkju 2013-05-24
  • 打赏
  • 举报
回复
都木有人知道哦....?
wonkju 2013-05-24
  • 打赏
  • 举报
回复
引用 2 楼 posato_jia 的回复:
Point p = textbox1.Location;
我要晕倒了....大侠你貌似没有看懂我要说的意思哦....
posato_jia 2013-05-24
  • 打赏
  • 举报
回复
Point p = textbox1.Location;
wonkju 2013-05-24
  • 打赏
  • 举报
回复
因为我想求的是光标在"TextBox"中的"行号"和"列号". 所以... 我要用上面的两个"Point"相减.... 大家知道的...

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧