【发布时间】:2014-11-04 14:52:02
【问题描述】:
我有一个 Windows 窗体应用程序,其中包含一个名为“ChkBox1”的“CheckedListBox”,它包含这些项目(蓝色、红色、绿色、黄色)。
该表单还包含一个名为“LstBox1”的空“ListBox”。
我希望当我从“ChkBox1”中检查任何项目时,它会添加到“LstBox1”中,当我从“ChkBox1”中取消选中它时,它会从“LstBox1”中删除。
我认为我应该使用“ItemChecked”事件,但我不知道如何检测项目是否已检查并将其添加到另一个列表中。
这是我的尝试:
private void ChkBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (ChkBox1.CheckedItems.Count > 0)
listBox1.Items.Add(ChkBox1.Items[e.Index]);
else if (ChkBox1.CheckedItems.Count == 0)
listBox1.Items.Remove(ChkBox1.Items[e.Index]);
}
但是当我取消选中它而不是当我选中它时它会添加该项目。
这是另一个尝试:
private void ChkBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (ChkBox1.GetItemChecked(e.Index) == true)
listBox1.Items.Add(ChkBox1.Items[e.Index]);
else if (ChkBox1.GetItemChecked(e.Index) == false)
listBox1.Items.Remove(ChkBox1.Items[e.Index]);
}
【问题讨论】: