2011-08-27 158 views
0

是否有任何方法將控制位置設置爲原始(初始化時間)?
我在許多控件上改變位置,在某些情況下,我必須將它們的位置更改爲原始位置。將控制位置設置爲原始

回答

2

只記得原來的值,然後重新設置 - 就像

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值,自定義結構等。

+0

我認爲他的問題也是關於何時保存原始座標。這將是OnFormShown(或它叫什麼)。 – TheBlastOne

+0

是的Form_Load將是通常的地方 - 無論如何這隻會在InitializeComponent();因爲在那裏設置了控件和值(這是在構造函數中調用的,所以你可以把SaveProperties放在那裏) – Carsten