textbox的MouseDown事件 获取相对于textbox父窗体的location位置
时间: 2024-04-09 09:33:33 浏览: 100
获取鼠标在窗体上的位置
要获取鼠标在TextBox控件父窗体中的位置,可以使用Control类提供的PointToScreen和PointToClient方法来实现。
在MouseDown事件中,可以使用PointToScreen方法将TextBox控件的位置转换为屏幕坐标。然后,使用PointToClient方法将屏幕坐标转换为相对于父窗体的客户区坐标。
示例代码如下:
```csharp
private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
Point screenLocation = textBox1.PointToScreen(e.Location);
Point clientLocation = ParentForm.PointToClient(screenLocation);
// 使用clientLocation进行需要的操作
}
```
在上面的代码中,使用PointToScreen方法将鼠标事件的位置e.Location从TextBox控件坐标转换为屏幕坐标,并将结果保存在screenLocation变量中。然后,使用PointToClient方法将screenLocation从屏幕坐标转换为相对于父窗体客户区的坐标,并将结果保存在clientLocation变量中。
请确保在TextBox控件上注册了MouseDown事件,并将事件处理程序指向textBox1_MouseDown或其他适用的方法。
阅读全文