1

我有一个启用了 esListView的表单。Checkbox这是一个简单的示例程序:

[STAThread]
static void Main ()
{
    var form = new Form();
    var listView = new ListView() {
        Dock = DockStyle.Fill, CheckBoxes = true, View = View.List };
    listView.Items.Add("a");
    listView.Items.Add("b");
    listView.Items.Add("c");
    form.Controls.Add(listView);
    Application.Run(form);
}

如果您运行此程序,请尝试拖动选择两个或三个ListView项目。这工作正常。但现在再试一次,“意外”在CheckBox.

结果是CheckBox鼠标光标下方本身不受影响,但所有其他选定项目都会根据该项目的状态被选中/取消选中CheckBox。最终用户发现这种行为不稳定,我同意。

是否有一种简单的方法可以CheckBox在拖动选择ListView项目时抑制这种意外更改?

4

1 回答 1

0

你可以试试Better ListView Express - 它是免费的,用托管代码重写,控制相当成熟。

此处修复了常规 .NET ListView 的复选框行为和其他故障。例如,复选框是完全动画的(热和按下状态),你甚至可以有单选按钮......

该控件甚至可以在商业上使用。还有一个完整版也支持三态复选框。

每个视图都支持复选框,不仅是详细信息。

在此处输入图像描述

于 2012-12-14T04:38:35.433 回答