PointToClient在Form_Activated中没有返回正确的位置

时间:2014-05-30 14:44:40

标签: c# winforms

当用户点击停用表单上的按钮时,我试图让ToolStrip执行单击按钮的操作。默认行为是,1单击以设置焦点,第二次单击以实际单击按钮。

我想我会在激活的表单中检查Cursor.Position,如果它在一个按钮上,我会在该按钮上调用PerformClick()。

我得到的问题是PointToClient没有返回正确的客户端位置。

toolStrip1.PointToClient(Cursor.Position)
{X = 2417 Y = 661}
IsEmpty: false
X: 2417
Y: 661

按钮的实际位置是

{X = 39 Y = 1 Width = 77 Height = 51} and I'm clicking around the center.

toolStrip1的边界是:

{X = 0 Y = 24 Width = 970 Height = 54}

这个问题是因为我试图在Activated中获取客户位置吗?

之前我曾在其他许多地方使用过它,从来没有遇到任何问题。

0 个答案:

没有答案