Windowsフォームでの特定のタイプのサブコントロールの効率的な取得
Windowsフォームアプリケーションを設計するときは、ボタンやテキストボックスなどの特定のサブコントラにアクセスする必要があることがよくあります。再帰関数の使用は、すべてのコントロールが実行可能なソリューションであるように思われるが、より効果的な方法があるようです。
メソッド1:コントロールのタイプでフィルタリングを入力
Windowsウィンドウの制御プロパティにより、すべてのサブコントロールのセットにアクセスできます。単一のコントロールにgetType()メソッドを使用することにより、セットをフィルタリングして特定のタイプのコントロールを取得できます。
この方法は、すべてのマッチングサブコントロールを取得するための高速かつ簡潔な方法を提供します。メソッド2:LINQ拡張方法を使用
<code class="language-vb.net">Dim ctrls() As Control ctrls = Me.Controls.OfType(GetType(TextBox)).ToArray()</code>
または、LINQ拡張法を使用して、より大きな柔軟性を得ることができます。次のコードでは、この方法を示しています
この文法は、OFTYPE演算子とLINQクエリ式を組み合わせて、必要なタイプに従ってコントロールコレクションをフィルタリングします。
メソッド3:ネストされたコントロールに使用される再帰関数<code class="language-vb.net">Dim Ctrls = From ctrl In Me.Controls Where TypeOf ctrl Is TextBox</code>他のコントロールでサブコントリーを取得する必要がある場合は、再帰関数を使用できます。次の例関数は、この方法を示しています:
Recubleによると、この関数は、指定されたタイプに応じて、すべてのレベルのサブコントロールとスクリーンを通過します。
以上がWindowsフォームの特定の子のコントロールタイプを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。