У меня есть 30 списков и 30 флажков. Я хочу, чтобы каждый флажок контролировал каждое свойство listbox.enabled. На данный момент я хотел бы создать 30 разных методов: по одной для каждой пары checkbox1 - listbox1, checkbox2 - listbox2 и т. Д., Но я не думаю, что это очень хорошо, если мне нужно добавить больше пар в будущем.Связать несколько флажков с несколькими свойствами списка
Есть ли более простой способ сделать это? Я думал о цикле foreach, который проходит через каждый флажок в форме, но затем как я могу понять, что этот цикл понимает, что если он имеет дело с checkbox15, он должен изменить .enabled из спискаbox15? Я очень новичок в этом, так что я ценю различные предложения :)
В настоящее время, у меня есть 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 in Controls) 'вы можете проверить, если' ctrl', если CheckBox' там проверяет, проверено ли это состояние или нет и т. Д. No нужно написать 30 разных методов. – MethodMan