找到坐标为屏幕上的点?(Find Coordinates for point on screen?)

2019-08-07 05:06发布

事情是我有一个形式,矩形例如显示一些图形,我想捕捉的时候点获得超过thees领域。 所以我Thoght我试图找到thees矩形的corrrdinates,但大公的形式为它的剂量不匹配用鼠标位置的人的COORDS。

所以,我不知道有没有办法找到一个点有屏幕上,而不是在形式或控制器屏幕上的坐标是什么?

Answer 1:

每个控制HS PointToFoo用于转换的方法。 需要注意的是,你应该从谁是你想要的位置的对象的父称这样的:

Point scrPos = this.PointToScreen(panel1.Location);

或者,你可以用面板的屏幕坐标:

Point scrPos = panel1.PointToScreen(new Point(0,0));

需要注意的是上面的两个例子可能是由于面板的边框尺寸不同的结果GVE。



Answer 2:

如果您使用的是图形通过调用对象的形式this.CreateGraphics()形式内,那么当你绘制矩形应该是完全一样的那些表格上的点击事件返回所用的坐标。



Answer 3:

你知道什么坐标指针是? 你可以为你的窗口坐标与到呼叫GetWindowRect()和减去顶部/从你的鼠标光标左边得到客户坐标。

我似乎记得有其事为你做的实际上是一个功能,但它一直以来我在自定义GUI控件涉猎一些时间。



文章来源: Find Coordinates for point on screen?