2011-08-27 14 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]; 
} 

これをあなたの必要に応じて(たとえば、タプル内のX値、自己定義された構造体など

+0

私は彼の質問が元の座標を保存するときについても考えています。これはOnFormShown(またはそれが何であるか)です。 – TheBlastOne

+0

はいForm_Loadは通常の場所になります。いずれにしても、これはInitializeComponent()の後でのみ機能します。そこにはコントロールと値が設定されています(これはコンストラクタで呼び出されるので、SavePropertiesもそこに入れることができます) – Carsten

関連する問題