0
是否有任何方法將控制位置設置爲原始(初始化時間)?
我在許多控件上改變位置,在某些情況下,我必須將它們的位置更改爲原始位置。將控制位置設置爲原始
是否有任何方法將控制位置設置爲原始(初始化時間)?
我在許多控件上改變位置,在某些情況下,我必須將它們的位置更改爲原始位置。將控制位置設置爲原始
只記得原來的值,然後重新設置 - 就像
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