我有30個列表框和30個複選框。我想要每個複選框來控制每個listbox.enabled屬性。現在,我最好的想法是創建30個不同的方法,每個對checkbox1 - listbox1,checkbox2 - listbox2等一對,但是如果我將來需要添加更多對,我認爲這不會很好地擴展。將多個複選框綁定到多個列表框屬性
有沒有更簡單的方法來做到這一點?我想到一個foreach循環遍歷表單中的每個複選框,但是我怎麼讓循環理解,如果它處理checkbox15,它應該改變listbox15的.enabled? 我很新的這讓我體會不同的建議:)
截至目前,我有這30個:(與他們的其餘部分改爲checkBox2/listBox2等)
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
if (listBox1.Items.Count >= 1)
{
tillgangligaForare.Items.Add(listBox1.Items[0]);
listBox1.Items.Clear();
uppdateraSummering();
}
listBox1.Enabled = false;
listBox1.Items.Add("FORDON EJ I BRUK");
}
else
{
listBox1.Items.Clear();
listBox1.Enabled = true;
}
}
使用綁定將複選框的Checked屬性綁定到列表框的Enabled屬性。你仍然需要編寫一些繁瑣的代碼來完成這個任務,但是你不需要30個點擊處理程序。 –
你熟悉'Controls'類,以及如何做一個'ForEach(控制中的Control ctrl)'你可以檢查'ctrl'如果CheckBox'從那裏檢查它是否被檢查狀態等。需要編寫30種不同的方法.. – MethodMan