C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes和点击选中CheckBoxes时自动显示正行选中状态的单选功能。

效果图:

主要利用两个事件:listView1_ItemCheck和listView1_SelectedIndexChanged事件。

上代码:

[csharp] view plain copy

print?

  1. private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
  2. {
  3. if (!listView1.Items[e.Index].Checked)//如果点击的CheckBoxes没有选中
  4. {
  5. foreach (ListViewItem lv in listView1.Items)
  6. {
  7. if (lv.Checked)//取消所有已选中的CheckBoxes
  8. {
  9. lv.Checked = false;
  10. lv.Selected = false;
  11. // lv.BackColor = Color.White;
  12. }
  13. }
  14. listView1.Items[e.Index].Selected = true;
  15. // lv.Checked = false;
  16. }
  17. //int count = listView1.Items.Count;
  18. //ListViewItem item = listView1.Items[e.Index];
  19. //if (item.Checked)
  20. //{
  21. //    for (int i = 0; i < count; i++)
  22. //    {
  23. //        if (i != e.Index)
  24. //        {
  25. //            ListViewItem item1 = listView1.Items[i];
  26. //            item1.Checked = false;
  27. //        }
  28. //    }
  29. //}
  30. }

[csharp] view plain copy

print?

    1. private void listView1_SelectedIndexChanged(object sender, EventArgs e)
    2. {
    3. foreach (ListViewItem lv in listView1.Items)
    4. {
    5. if (lv.Selected)
    6. {
    7. //if (lv.Checked)
    8. //{
    9. //    //lv.Checked = false;
    10. //}
    11. //else
    12. //{
    13. lv.Checked = true;
    14. //}
    15. }
    16. else
    17. {
    18. if (listView1.SelectedIndices.Count>0)
    19. {
    20. if (lv.Checked)
    21. {
    22. lv.Checked = false;
    23. }
    24. }
    25. }
    26. }
    27. }
时间: 2024-08-24 11:30:15

C# winform项目中ListView控件使用CheckBoxes属性实现单选功能的相关文章

WinForm 之 使用ListView控件展示数据

在学习了这么多的WinForm基本控件后,今天在来学习一个比较有意思的包含图片的控件! >>>图像列表控件 ImageList是含有图像对象的集合,可以通过索引或关键字引用该集合中的每个对象. ImageList空间的属性 属性 说明 Images 存储在图像列表中的所有图像 ImageSize 图像列表中图片的大小 TranparentColor 被视为透明的颜色 ColorDepth 获取图片列表的颜色深度 使用ImageList控件_经验: 先设置ColorDepth,ImageL

winform窗体中查找控件

private RichTextBox FindControl()        { RichTextBox ret = null;            try            {                Control[] controls = Application.OpenForms["MainForm"].Controls.Find("txtContent", false);                if (controls != nul

C#winform中使用控件的Dock属性进行布局

想要实现如下布局,可以通过设置控件的Dock属性达到效果 1.拖放一个panel控件一个label控件(放在panel中)和一个treeView控件到TestForm中 2.设置panel的Dock属性为Top(设置BorderStyle属性为FixedSingle,这样显得美观些),设置treeView的Dock属性为Fill 3.需要注意的是要先把panel放到TestForm中,先放treeView就会使得treeView填充TestForm而被后放置的panel遮盖,如下所示 4.想要实

在C# WinForm程序中创建控件数组及相应的事件处理

控件数组是VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现它.首先请看界面 在上面的界面中,本人想实现一个42个元素的Button数组来实现一个日历的功能,上面显示出了一部分. 其中采用了网格布局来放置这些按钮.手工创建为全部按钮后,在窗体类中代码中定义成员变量控件数组: private Button[] btns;然后在构造函数中初始化: btns =

向asp.net项目中添加控件AspNetPager

1.打开项目,把.dll文件放入项目中: 2.在工具栏中添加一个自定义选项卡 3.右键选项卡,点击"选择项" 4.在打开的对话框中点击:"浏览" 5.找到要添加的控件文件AspNetPager.dll,确定,添加成功啦 向asp.net项目中添加控件AspNetPager

WPF中PasswordBox控件的Password属性的数据绑定

原文:WPF中PasswordBox控件的Password属性的数据绑定 英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://blog.csdn.net/oyi319/article/details/6551532 WPF的PasswordBox控件的Password属性不是依赖属性,无法直接进行数据绑定,为使其在MVVM模式中正常使用,可以为PasswordBox增加一个助手类,代码如下: 注:代码摘自:http://www

【2017-04--28】Winform中ListView控件

ListView控件是一个winform自带的表格型的应用数据展示控件 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的SubItems属性的集合中设置该行数据后面几列的值. 3.ListView属性 - Columns 列的集合 - Items 行数据的集合 - FullRowSelect  满行选中 - MultiSelect   是否允许选择多项 - Hid

WP8.1开发中ListView控件加载图列表的简单使用(1)

我也是刚接触WP编程没几个月,就是在这段时间一直闲着没事,然后又比较喜欢WP这款系统,就学习了WP这方面的开发言语,自学是很困难的,掌握这方面的资料不多,很初级,就是自己在网上找资料学习过程中,看到别人的分享让我学到了很多,所以我也想分享一下自己的经验,另一方面也希望和大家交流交流,并得到大家的指点. 好了,不多说了,现在开始进入正题吧: ListView这个控件用的很多,而且功能很强大,在我练习开发两个小软件的之前,我以为很简单没什么内容,谁知在开发过程中,才知道它的功能之多,现在就简单说其中

windows phone开发中textbox控件的header属性

备注:博主windows phone学习新手,在博客园上分享自己刚刚掌握的一些学习笔记,内容简单,高手勿喷! 前一段时间看@消失3003的博客,发现了textboxt的header属性.这一属性在编写UI时可以节约不少代码,十分有用. 之前编写一个如下的微信登陆界面,代码会很长: 未使用Header属性的UI及代码: 代码如下: <Grid> <TextBlock Text="登录" FontSize="20" Margin="0,15,