C#winformzen'me获得控件所在窗体对应左上角的位置,注意控件可能在窗体的容器中
时间: 2024-09-11 22:12:22 浏览: 59
C# 开发圆角控件(窗体)的具体实现
在C#的Windows窗体应用程序(WinForms)中,如果你想获得某个控件所在窗体的左上角位置,可以使用控件的`Location`属性。这个属性返回一个`Point`结构体,包含了控件左上角的X和Y坐标。如果控件嵌套在其他容器控件中(比如Panel、GroupBox等),则需要从当前控件开始,逐级向上查询其父容器,直到根窗体,并累加各个父容器的`Location`值。
以下是一个示例代码,它展示了如何递归地获取控件相对于窗体左上角的位置:
```csharp
public Point GetControlLocationRelativeToForm(Control control)
{
Point location = control.Location;
Control parent = control.Parent;
while (parent != null)
{
location.Offset(parent.Location);
parent = parent.Parent;
}
return location;
}
```
调用这个方法并传入目标控件实例,就可以得到该控件相对于窗体左上角的位置。
阅读全文