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