让c# winform 下得gridview中的checkbox 只能单选。

2025-03-07 10:45:09
推荐回答(3个)
回答1:

1 可以考虑重写控件 用baidu或者google搜索”C#给WinForm(窗体)下DataGridView控件添加单选选或多选按钮列“
2 checkboxcolumn,这个时候就需要在cellclick事件(gridview)判断是否单机的是checkboxcolumn,如果是就在后台置一个状态变量为true,如果以后的cellclick判断仍未true就表明已经选择了,这个方法在于你一定得注意什么时候需要重置这个状态变量?比如取消原选择

回答2:

如下,稍微改下函数名就行了,别忘了也在designer里面加上
///


/// checkedListBox单选
///

///
///
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.CurrentValue == CheckState.Checked) return;
for (int i = 0; i < ((CheckedListBox)sender).Items.Count; i++)
{
((CheckedListBox)sender).SetItemChecked(i, false);
}
e.NewValue = CheckState.Checked;
}

回答3:

记录当前点击行位置,然后遍历所有gridview行,全部取消选中,最后设置你记录行的checkbox选中。