首页 > 代码库 > 百思不得骑姐的问题——难道是控件的bug?
百思不得骑姐的问题——难道是控件的bug?
直接进入主题,困惑了一下午了。
要实现的功能:
winform的checkedlistbox控件
点击 “全部” 就都选上,可是如果点击过快就会出现如上现象,下面选项未显示选中。
代码如下:
private void clbSaleDept_SelectedIndexChanged(object sender, EventArgs e) { CheckedListBox cb = sender as CheckedListBox; if (cb == null || cb.SelectedIndex < 0) { return; } //如果单击“全选” if (cb.SelectedIndex == 0) { for (int i = 1; i < cb.Items.Count; i++) { Console.WriteLine(cb.GetItemChecked(0)); cb.SetItemChecked(i, cb.GetItemChecked(0)); } } else { if (!cb.GetItemChecked(cb.SelectedIndex)) {//当其它选项有一项未选中,则取消“全选” cb.SetItemChecked(0, false); } else if (!cb.GetItemChecked(0) && cb.SelectedItems.Count >= (cb.Items.Count - 1)) {//当其它所有选中,则选中“全选” cb.SetItemChecked(0, true); } } }
个人在代码里面看不出什么问题。
经过写日志得出:在快速点击“全选”按钮时,并不是每次都进入该事件。
百思不得骑姐的问题——难道是控件的bug?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。