C#获取坐标的问题

[复制链接]
查看11 | 回复1 | 2011-7-17 12:12:14 | 显示全部楼层 |阅读模式
一段代码如下:
System.Drawing.Point pSceLoc = axGlobeControl1.PointToScreen(axGlobeControl1.Location);//将指定工作区点的位置计算成屏幕坐标

System.Drawing.Point Pt = this.PointToScreen(e.Location);//获取鼠标在产生鼠标事件时的位置

if (Pt.XpSceLoc.X + axGlobeControl1.Width || Pt.YpSceLoc.Y + axGlobeControl1.Height)

{

return;

}
请问这个坐标获取有问题吗?pSceLoc .X和pSceLoc .Y应该是个固定值,怎么它的值在变化,不管我把鼠标放到axGlobeControl1(就是个控件,相当于panel之类,是我们专业一款软件的控件,怕各位C#达人不知道,特解释下)内还是外面,它总会执行return语句。为什么?跪求解答。
axGlobeControl1控件见图片


回复

使用道具 举报

千问 | 2011-7-17 12:12:14 | 显示全部楼层
axGlobeControl1.Location是控件在其父窗口中的位置,假设他等于(10,10),axGlobeControl1.PointToScreen(axGlobeControl1.Location)求的是axGlobeControl1控件中(10,10)点在屏幕上的位置,而不是控件左上角在屏幕上的位置,应该要用System.Drawing.Point pSceLoc = this.PointToScreen(axGlobeControl1.Location);才对...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行