频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

.Net中ListView控件多选时复选框自动选择问题

来源:qqread 作者:douces 出处:巧巧读书 2008-01-10 进入讨论组
上一页 1 2 

从上面我们知道引起多选ListView控件的行时所选择的行的复选框会改变成为选中状态的原因,那么我们就可以想办法来避免这种情况。

因为就ListView控件而言,无论一次改变多少个项的复选框的值,都是通过触发每一个项的ItemCheck事件来实现的,所以笔者的思路是通过判断是否是多选来决定是否允许改变项的Checked的值,如下代码所示:

Private Sub ListView1_ItemCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles ListView1.ItemCheck

Try

If ListView1.SelectedItems.Count > 1 Then

e.NewValue = e.CurrentValue

End If

Catch ex As Exception

End Try

End Sub

http://www.qqread.com/book/myvbnet/mylistview.html

以上代码的意义为:判断ListView控件目前是否是多选(SelectedItems.Count大于1的时候表示选择的项大于1),如果是多选的情况,则ItemCheck(代码中为e)的值不改变。

现在我们运行,测试多选是否改变复选框的值,如下图三所示(注意:第三项的复选框为多选前选中的):

.Net中ListView控件多选时复选框自动选择问题(图三)
图三:多选不改变复选框的值

经过添加以上代码后,多选不会再改变复选框的值了。

不过新的问题出来了,此时多选状态下我们也无法主动改变一个项的复选框状态,只能单选一项才能改变该项的复选框状态,如果你有更好的解决方案,可以单击这里到我们巧巧读书网的论坛发表你的高见。

文字:http://www.qqread.com/book/myvbnet/mylistview.html 更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章