0

我正在编写一个非常简单的 VCpp 程序。在 form1 上,我放置了一个“checkedListBox1”,我可以在其中进行选择。

每次,我按下“botton1”,这些选择都应该被清除。

因此,当我编写代码时,我在按钮上单击两次以进入事件。现在并不重要的第一条指令工作正常。

然后我写:

checkedListBox1->ClearSelected(); 

智能感知说,这种方法应该清除所有选择,但事实并非如此。当我运行程序时,在框中选择了 4 个可能性中的 1 个,然后单击 botton1,选择仍然存在。

我肯定忘记了什么。有人可以给我一个想法吗?

我正在使用 Visual C++ 2008,Express 版本。

谢谢并恭祝安康

Uwe_98

4

1 回答 1

0

选中的项目与选中的项目不同。选中表示您在项目上有一个(通常为蓝色)突出显示,选中表示复选框已选中。

要清除所有复选标记,您必须使用SetItemChecked方法而不是ClearSelected实际继承自ListBox并且与复选框无关的方法:

for (int i = 0; i < checkedListBox1->Items->Count; ++i)
{
    checkedListBox1->SetItemChecked(i, false);
}
于 2013-06-29T08:35:18.993 回答