C# C ListView复选框没有响应(缺少单击)
我使用的是ListView,希望用户能够从中选择一行或多行。我目前正在使用行选择,但我认为如果有复选框允许用户勾选他们想要的项目,这将是一个更直观的UI 这是一个简单的更改,但ListView的复选框功能似乎没有响应。如果我慢慢点击复选框,它们会按预期的那样勾选和取消勾选,但如果我连续快速点击,定期点击会被忽略。正如我所预期的那样,用户会希望快速运行列表勾选/取消勾选,这使得复选框方法不可行。因为我需要显示多列行,所以我必须使用ListView或其派生 我将ListView复选框的行为与CheckedListBox进行了比较,以确定这是否是一个更广泛的问题,但是CheckedListBox很好,从不缺少单击。我在下面提供了一个示例应用程序来比较两者。在CheckedListBox中的复选框上快速单击三次,效果非常好。在ListView中快速单击三次总是导致错过一次单击 既然这个问题对ListView来说是基本问题,那么有人有什么想法或解决方法吗C# C ListView复选框没有响应(缺少单击),c#,winforms,listview,checkbox,clicking,C#,Winforms,Listview,Checkbox,Clicking,我使用的是ListView,希望用户能够从中选择一行或多行。我目前正在使用行选择,但我认为如果有复选框允许用户勾选他们想要的项目,这将是一个更直观的UI 这是一个简单的更改,但ListView的复选框功能似乎没有响应。如果我慢慢点击复选框,它们会按预期的那样勾选和取消勾选,但如果我连续快速点击,定期点击会被忽略。正如我所预期的那样,用户会希望快速运行列表勾选/取消勾选,这使得复选框方法不可行。因为我需要显示多列行,所以我必须使用ListView或其派生 我将ListView复选框的行为与Chec
using System;
using System.Windows.Forms;
public class CheckBoxTest : Form
{
public CheckBoxTest()
{
//set up the list view
ListView lv = new ListView();
lv.FullRowSelect = true;
lv.CheckBoxes = true;
lv.View = View.Details;
lv.Columns.Add("Col1");
lv.Columns.Add("Col2");
lv.Columns.Add("Col3");
lv.Items.Add(new ListViewItem(new string[] { "a", "b", "c" }));
lv.Items.Add(new ListViewItem(new string[] { "a", "b", "c" }));
lv.Items.Add(new ListViewItem(new string[] { "a", "b", "c" }));
lv.Items.Add(new ListViewItem(new string[] { "a", "b", "c" }));
lv.Items.Add(new ListViewItem(new string[] { "a", "b", "c" }));
lv.Items.Add(new ListViewItem(new string[] { "a", "b", "c" }));
lv.Bounds = new System.Drawing.Rectangle(0, 0, 200, 200);
this.Controls.Add(lv);
//set up the list box
CheckedListBox lb = new CheckedListBox();
lb.CheckOnClick = true;
lb.Items.Add("1");
lb.Items.Add("2");
lb.Items.Add("3");
lb.Items.Add("4");
lb.Items.Add("5");
lb.Items.Add("6");
lb.Bounds = new System.Drawing.Rectangle(210, 0, 200, 200);
this.Controls.Add(lb);
this.ClientSize = new System.Drawing.Size(410, 200);
this.Text = "CheckBox Test";
}
[STAThread]
static void Main(String[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
CheckBoxTest s = new CheckBoxTest();
s.Show();
Application.Run();
}
}
我无法复制,两者都很好。检查时是否有代码要处理?顺便说一句:有一个WinUI方法可以检查许多连续的项目:选择它们,然后按空格键!我无法复制,两者都很好。检查时是否有代码要处理?顺便说一句:有一个WinUI方法可以检查许多连续的项目:选择它们,然后按空格键!