У меня есть небольшая программа, которая имеет несколько проверенных списков в VS2010.Я хотел позволить пользователю выбрать все в одном из списков и придумал эту циклическую структуру ...
private void CheckedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == CheckState.Checked)
{
Applications.Add(CheckedListBox1.Items[e.Index].ToString());
}
else if (e.NewValue == CheckState.Unchecked)
{
Applications.Remove(CheckedListBox1.Items[e.Index].ToString());
}
}
private void CheckedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (CheckedListBox1.SelectedIndex == 0)
{
for (int i = 1; i < CheckedListBox1.Items.Count; i++)
{
CheckedListBox1.SetItemChecked(i, CheckedListBox1.GetItemChecked(0));
}
}
else
{
if (!CheckedListBox1.GetItemChecked(CheckedListBox1.SelectedIndex))
{
CheckedListBox1.SetItemChecked(0, false);
}
}
}
Проблема в том, что это также ставит флажок «Выбрать все» в вывод.Есть ли способ, которым я могу настроить цикл так, чтобы он не включал первый флажок (который является проверкой «Выбрать все»), или я должен пойти по этому поводу другим путем?