2017-08-02 8 views
0

パネル内のすべてのControlsを初期状態(コンパイル時の状態)にリセットする簡単な方法はありますか?私はTextBoxesRadioButtonsComboBoxes、およびCheckBoxesをリセットしました。プログラムが最初に実行されたときに値をリセットするようにしたいと思います。私はがループや再帰を伴わない解決策を望んでいます主に新しいプロジェクトを開始するときに同じことを再度実行したくないためです。私は単に仕事をするだろうコールするメソッドのセットを見つけることです。いずれかがあります?パネル内のコントロールをリセットする(WinForms)

+1

たとえば、TextBoxの「初期状態」は何ですか?単純にテキストを消去したいのですか、またはそのすべてのプロパティをデフォルト値にリセットしますか? 他のコントロールと同じですか? – Sach

+0

あなたはアブラカダブラの魔法のコードを求めているようです。 – LarsTech

+0

Winforms? WPF? MVC?フォームを破棄して新しいインスタンスを表示するだけかもしれませんか? –

答えて

2

状態は実行時の概念なので、コントロールにはコンパイル時の状態はありません。

あなたはコントロールがプロパティシートに表示されている状態に再初期化されることを意味すると思います。この状態は、InitializeComponentにある生成コードによって適用されるため、その状態を再適用するには、再度呼び出すことができます。

唯一の問題は、InitializeComponentもイベントを繋ぐことであり、おそらく2回したくないということです。これを回避するには、イベントを呼び出す前にすべてのイベントの登録を解除するか、後で呼び出しリストを重複除外することで対応できます(this answer参照)。

私はこれをお勧めしません。最善の方法は、プロパティを1つずつ設定する独自のメソッドを記述することです。時にはコードを書く必要があります。

+0

_時にはコードを書く必要があります._いいです。 – TaW

関連する問題