私はVS2010にいくつかのチェックボックスリストを持つ小さなプログラムを持っています。私はC#「Check All」エントリを表示せずにCheckedListBoxからすべてをチェック
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);
}
}
}
問題は、これがまた、出力に「すべてを選択」チェックボックスを置くです...ユーザーはすべてのリストのいずれかで選択できるようにしたかったし、このループ構造を思い付きました。最初のチェックボックス(「Select All」チェック)を含まないようにループを微調整する方法はありますか?これは別の方法で行うべきでしょうか?
あなたのご質問はありますか? –