は、現在約10コントロールのイベントハンドラで私のプログラムでは、私はこのコードを持っている:条件が満たされるまでコントロールを無効にする方法はありますか?
if (!mapLoaded)
return;
私がtrueにmapLoadedを設定するオープンファイルダイアログでマップをロードします。これを行うもう1つの方法は、すべてのコントロールを有効にするためにマップをロードした後、スタートアップのすべてのコントロールを無効にすることです。残念ながら、そこにコントロールが30+であり、コントロールの一部がmenustripアイテム、ToolStripの項目、パネルの項目であるため、これはどちらか、私は本当にthis.Controlsを通じてforeachループを行うことはできません。..
a.Enabled = true;
b.Enabled = true;
c.Enabled = true;
のわずか30行です、スクロールバー、スプリッターなどが含まれており、そのループはそれをカバーしていません。
理想的には、単一の単純なループですべてのコントロールのenabledプロパティをtrueに設定する方法がありますが、その方法はわかりません。任意のアイデア?結合
これは私が探していたものです。私はそれを試してみます。ありがとう! –
Windowsフォームデザイナを使用してデータバインディングを設定できると述べました。そのオプションはどこにありますか?コントロールを選択するとき、プロパティウィンドウにBindingsまたはDataBindingsプロパティが表示されません。 –
@ John、これには通常4つのステップが含まれます(VS2010)。** 1。**新しいオブジェクトデータソースをプロジェクトに追加します。この場合、 'Form'クラス自体をデータソースとして追加します。 * Add Data Source *ウィザードで 'Form'クラスが表示されるように、プロジェクトを最初にコンパイルする必要があります。 ** 2。**フォームに 'BindingSource'コンポーネントを追加し、' Form'オブジェクトデータソースを選択します。 ** 3。** 'Form'のコンストラクタで、' formBindingSource.DataSource = this; 'を設定します。 ** 4。**データバインディングを定義するには、任意のコントロールの* Properties *で* Advanced Bindings *ウィザードを使用します。 – stakx