C# 恢复控件';s在运行时在窗体内的位置和大小。(.NET)

C# 恢复控件';s在运行时在窗体内的位置和大小。(.NET),c#,.net,vb.net,C#,.net,Vb.net,我的表单中有一个DataGridView,在某一点上,我调整了它的位置。我希望能够在运行时将其恢复到设计器的默认位置。我知道我可以在更改之前保存它,然后在以后恢复它,但我觉得在.NET中肯定有一种方法可以将控件位置恢复为默认状态。有什么建议吗?我认为唯一的方法是存储控件的坐标和大小,然后重新应用它们 搬家前: private Point _location; private Size _size; private void EventFired(object sender, EventArgs

我的表单中有一个DataGridView,在某一点上,我调整了它的位置。我希望能够在运行时将其恢复到设计器的默认位置。我知道我可以在更改之前保存它,然后在以后恢复它,但我觉得在.NET中肯定有一种方法可以将控件位置恢复为默认状态。有什么建议吗?

我认为唯一的方法是存储控件的坐标和大小,然后重新应用它们

搬家前:

private Point _location;
private Size _size;

private void EventFired(object sender, EventArgs e)
{
    _location = myControl.Location;
    _size = myControl.Size;

    // Move control
}
搬家后:

myControl.Location = _location;
myControl.Size = _size;

没有“默认控制位置”这样的概念。所有控件都是根据在
InitControls()
中创建的代码定位的。要恢复“默认位置”,请在
OnLoad()
中捕获
Location
矩形,并在需要时恢复到该值。

很抱歉necro Post,但您可以使用控件的tag属性(如果尚未使用)

存储:

myControl.Tag = myControl.Bounds
myControl.Bounds = myControl.Tag

要恢复:

myControl.Tag = myControl.Bounds
myControl.Bounds = myControl.Tag


谢谢你提醒我关于点结构,这使它很容易