C# winform中,checkedListBox控件搞不懂

首先,没有多列显示,checkedListBox就是一列没有属性里找不着能设置两列的事件也是莫名其妙的事件SelectedIndexChanged,SelectedVal... 首先,没有多列显示,checkedListBox就是一列没有属性里找不着能设置两列的
事件也是莫名其妙的事件
SelectedIndexChanged,SelectedValueChanged都是鼠标点击,还没勾呢,就触发事件了,导致事件代码里头得不到最后一次选中的索引
ItemCheck事件,永远都是当前选中索引
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
int count = checkedListBox1.Items.Count;
string message = "";
string test="";
for (int i = 0; i < count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
message = message + checkedListBox1.Items[i].ToString();
test=test+checkedListBox1.SelectedValue.ToString();
}
}
this.textBox1.Text = message;
this.textBox2.Text = test;
}
1、我要换列怎么换,不是换行,数据绑定全绑定到一列上去了,怎么自动换2列,3列。
2、还没勾呢就触发了,你跟踪一下就知道了,只要鼠标单击选中它了就触发,选中这行,还没打勾
展开
 我来答
锦绣九洲分类垃圾桶
2009-07-07 · TA获得超过864个赞
知道小有建树答主
回答量:504
采纳率:100%
帮助的人:510万
展开全部
1:设置多行, 点击CheckListBox控件右上角的三角符号,选择编辑项,在弹出的对话框里面输入你要生成的行就可以了,换行表示开始1个新行,如下
ni
hao
生成的就是2个选项框。
2:我看了下CheckListBox的事件,checkedListBox1_SelectedIndexChanged可以是勾选后触发。不过前提是点击的时候必须点的是复选框,这样才能勾选,如果没有点击复选框,点的是文字,那么还是没有勾选。
大概看了下,checkedListBox不是太好用。我也没能好好使用,希望上面的回答对你有帮助,如果有更好的方法也写出来分享下
百度网友94f02eb
推荐于2016-05-04 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4396万
展开全部
1. 要实现多列,需要将 checkedlistbox 的 MultiColumn 设为 true,然后通过调整 ColumnWidth 和 checkedlistbox 本身的Width 来满足你要的几列的需求

2. 将 checkedlistbox 的 CheckOnClick 设为 true, 就解决了你的问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式