将控制位置设置为原始
答
只记得原来的值,然后重新设置 - 就像
oldX = control.X
您的新设置的东西之前,所以,如果你真的有很多的控制,你可以以这样的
private Dictionary<Control, int> OldValuesX = new Dictionary<Control, int>();
public void SaveProperties()
{
foreach (var ctr in this.Controls)
OldValuesX[ctr] = ctr.X;
}
和更高版本
public void ResetProperties(Control ctr)
{
ctr.X = OldValuesX[ctr];
}
正好满足您的需要(例如,保存更多属性比Tuple中的X值,自定义结构等。
我认为他的问题也是关于何时保存原始坐标。这将是OnFormShown(或它叫什么)。 – TheBlastOne
是的Form_Load将是通常的地方 - 无论如何这只会在InitializeComponent();因为在那里设置了控件和值(这是在构造函数中调用的,所以你可以把SaveProperties放在那里) – Carsten