私のコードでは、GroupBox内のコントロールをループして、ComboBoxの場合にのみコントロールを処理する必要があります。私は、コードを使用しています:コントロールをループする
foreach (System.Windows.Forms.Control grpbxChild in this.gpbx.Controls)
{
if (grpbxChild.GetType().Name.Trim() == "ComboBox")
{
// Process here
}
}
私の質問は:グループボックスからのみコンボボックスを取得することが可能であるされて代わりにすべてのコントロールと処理のみコンボボックスをループするの?このようなもの:
foreach (System.Windows.Forms.Control grpbxChild in this.gpbx.Controls.GetControlsOfType(ComboBox))
{
// Process here
}
1が、提示「pseudosolutionは」まだすべての子コントロールをループする必要があります。どちらが基本的な問題に対処していません。 – Cerebrus
@Cerebrus:何もする必要がなければループは必要ありません。 ComboBoxのコレクションがほしいのであれば、リスト list = new List (GetControlsOfType (groupBox.Controls)); –
ありがとうMehrdad ...これは動作します!疑似解決法と呼んではいけません。それが解決策です。あなたはwhere句のちょうど足りませんでした。応答を編集して追加してください: public static IEnumerable GetControlsOfType (Control.ControlCollection controls)T:Control –