Windows フォームでコントロールを名前で検索する
Windows フォーム アプリケーションで特定のコントロールを名前で検索するには、体系的なアプローチが必要です。効果的な方法は、Control.ControlCollection
クラスの Find
メソッドを利用することです。
たとえば、テキスト ボックス名のリストを管理しており、指定された名前で特定のテキスト ボックスを検索する必要があるとします。 Find
メソッドを使用すると、コントロールを効率的に配置できます。
Find
メソッドの構文は次のとおりです:
<code class="language-csharp">public Control[] Find(string key, bool searchAllChildren)</code>
その中には:
key
: 検索するコントロールの名前を表す文字列。 searchAllChildren
: 検索に子コントロールを含めるかどうかを示すブール値。 実際には、この手法は次のように実装できます。
<code class="language-csharp">TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox; tbx.Text = "找到!";</code>
このコードは、現在のフォーム内のすべてのコントロールで「textBox1」という名前のテキスト ボックスを検索します。見つかった場合は、コントロールを TextBox
に変換し、そのテキストを「Found!」に設定します。
より複雑なシナリオの場合は、コントロール配列を反復処理する必要がある場合があります。たとえば、フォーム上で「btnClickMe」という名前のボタンと「chkEnabled」という名前のチェックボックスを検索するには:
<code class="language-csharp">Control[] controls = this.Controls.Find(new string[] { "btnClickMe", "chkEnabled" }, true);</code>
生成された controls
配列には、配置されたコントロールへの参照が含まれるため、必要に応じてコントロールのプロパティと動作を操作できます。
以上がWindowsフォームで名前で特定のコントロールを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。