C# 如何从checkedListBox中取消选择上次选中的项目?
我想在CheckedListBox中禁用多重选择。我试过了C# 如何从checkedListBox中取消选择上次选中的项目?,c#,.net,winforms,C#,.net,Winforms,我想在CheckedListBox中禁用多重选择。我试过了 checkedListBoxWersje.SelectionMode = SelectionMode.One 但我仍然可以检查多个项目。所以我想取消选中上次选中的项目。可能吗?这是有效的代码 if(e.NewValue.Equals(CheckState.Checked)) for (int i = 0; i < checkedListBox1.Items.Count; ++i) if (i != e.I
checkedListBoxWersje.SelectionMode = SelectionMode.One
但我仍然可以检查多个项目。所以我想取消选中上次选中的项目。可能吗?这是有效的代码
if(e.NewValue.Equals(CheckState.Checked))
for (int i = 0; i < checkedListBox1.Items.Count; ++i)
if (i != e.Index)
checkedListBox1.SetItemChecked(i, false);
if(e.NewValue.Equals(CheckState.Checked))
对于(int i=0;i
这是有效的代码
if(e.NewValue.Equals(CheckState.Checked))
for (int i = 0; i < checkedListBox1.Items.Count; ++i)
if (i != e.Index)
checkedListBox1.SetItemChecked(i, false);
if(e.NewValue.Equals(CheckState.Checked))
对于(int i=0;i
您是否考虑过使用带有单选按钮的GroupBox
如果您真的想使用CykDistListBox,请考虑以下内容:只允许一个项目一次检查。
namespace CheckListBoxSimple_C_Sharp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
checkedListBox1.ItemCheck += checkedListBox1_ItemCheck;
}
private const int maxNumberOfCheckedItems = 1;
void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
CheckedListBox items = (CheckedListBox)sender;
if (items.CheckedItems.Count > (maxNumberOfCheckedItems - 1))
{
e.NewValue = CheckState.Unchecked;
}
}
private void Form1_Load(object sender, EventArgs e)
{
checkedListBox1.Items.AddRange(new string[] { "John", "Paul", "George", "Ringo" });
checkedListBox1.SetItemChecked(1, false);
checkedListBox1.SetItemChecked(3, false);
}
}
}
您是否考虑过使用带有单选按钮的GroupBox
如果您真的想使用CykDistListBox,请考虑以下内容:只允许一个项目一次检查。
namespace CheckListBoxSimple_C_Sharp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
checkedListBox1.ItemCheck += checkedListBox1_ItemCheck;
}
private const int maxNumberOfCheckedItems = 1;
void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
CheckedListBox items = (CheckedListBox)sender;
if (items.CheckedItems.Count > (maxNumberOfCheckedItems - 1))
{
e.NewValue = CheckState.Unchecked;
}
}
private void Form1_Load(object sender, EventArgs e)
{
checkedListBox1.Items.AddRange(new string[] { "John", "Paul", "George", "Ringo" });
checkedListBox1.SetItemChecked(1, false);
checkedListBox1.SetItemChecked(3, false);
}
}
}
如果你只能选择一个按钮,你不应该使用单选按钮吗?@xanatos正是我的想法。但是没有RadioButtonListBox。选择模式是不同的,它决定了一次可以选择多少项。对于其他列表类型控件,选择由蓝色背景指示。如果您只能选择一个按钮,是否应该使用单选按钮?@xanatos正是我的想法。但是没有RadioButtonListBox。选择模式与代码不同,它决定了一次可以选择多少项。对于其他列表类型控件,选择由蓝色背景指示。