我的程序中有56個組合框,我需要用相同的信息填充它們。我找到的fastes方式是創建一個用於填充組合框的私有函數。我放了56次相同的功能。如何用循環或東西填充56組合框
但我的問題是......我可以做一個循環來填充這個56 comboBox?
我的程序中有56個組合框,我需要用相同的信息填充它們。我找到的fastes方式是創建一個用於填充組合框的私有函數。我放了56次相同的功能。如何用循環或東西填充56組合框
但我的問題是......我可以做一個循環來填充這個56 comboBox?
假設這個問題是關於Windows窗體的。最好的方法是使用相同的數據來填充所有ComboBox
控件的類似命名約定。用for循環中的項填充它們,在添加數據之前向要查找的控件添加不同的後綴。
// Lets say you have 56 ComboBox controls with names like : cbMyComboBox_1, cbMyComboBox_2, ..., cbMyComboBox_56
for (int i = 1; i <= 56; i++)
{
ComboBox comboBox = (ComboBox)this.Controls.Find
(string.Format("cbMyComboBox_{0}", i), true)[0];
ComboBoxFill(comboBox);
}
private void ComboBoxFill(ComboBox comboBox)
{
// Fill that ComboBox with data here
}
謝謝!!!!!它的工作原理 –
@Oriol Lopez沒問題。使用Controls.Find方法將searchAllChildren標誌設置爲true,可以確保即使它嵌套在panel,groupBox或任何其他控件中,也可以找到控件。 – msmolcic
嘗試向所有56個組合框添加相同的類,然後創建一個函數來填充,然後如下所示: $(「。class」)。html(options的值);
當然可以。
foreach (var c in Controls)
{
if (c is ComboBox)
((ComboBox)c).Text = "I'm a combobox~";
}
我使用您的代碼但它不起作用 foreach(var c in Controls ) { if(c is ComboBox)c = Fill(c); } } –
@OriolLopez你可以把'Fill()'方法放在這裏嗎? –
是的,但參數「c」不識別爲ComboBox –
回答你的問題:是的,你可以做一個循環來填充你的組合框。 C#語言提供了幾個關鍵字,允許您創建循環,例如'for','foreach','while'等... – elgonzo