c# 检查 checkedListBox 检查状态

c# checking for checkedListBox check state

我有一个 checkedListBox,它在选中某个项目时将字符串放入文本框。

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
     if (checkedListBox1.GetItemCheckState(e.Index) == CheckState.Checked)
     {
          textBox1.Text = textBox1.Text + checkedListBox1.Items[e.Index].ToString();
     }
} 

这似乎不能正常工作,当我选中一个项目时它什么都不做,当我取消选中一个项目时字符串被添加到文本框中。

如何检查该项目是否要被选中或取消选中,如果复选框被选中,我的代码似乎可以正常工作。

项目的状态尚未 "committed"。使用 e.NewValue 代替:

    private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        if (e.NewValue == CheckState.Checked)
        {
            textBox1.Text = textBox1.Text + checkedListBox1.Items[e.Index].ToString();
        }
    }