在运行时在窗体内恢复控件的位置和大小。 (。净)

时间:2010-10-21 19:44:07

标签: c# .net vb.net

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

3 个答案:

答案 0 :(得分:1)

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

搬家之前:

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;

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

要存储:

myControl.Tag = myControl.Bounds

myControl.GetType().GetProperty("Tag").SetValue(myControl, myControl.GetType().GetProperty("Bounds").GetValue(myControl, Nothing), Nothing)

恢复:

myControl.Bounds = myControl.Tag

myControl.GetType().GetProperty("Bounds").SetValue(myControl, myControl.GetType().GetProperty("Tag").GetValue(myControl, Nothing), Nothing)