现在的位置: 首页 > 综合 > 正文

WinForms中ListView控件的基本用法

2013年06月05日 ⁄ 综合 ⁄ 共 4018字 ⁄ 字号 评论关闭
  1using System;
  2using System.Collections.Generic;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Linq;
  7using System.Text;
  8using System.Windows.Forms;
  9
 10namespace MyForms
 11{
 12    public partial class MyListFrom : Form
 13    {
 14        public MyListFrom()
 15        {
 16            InitializeComponent();
 17        }

 18
 19        /// <summary>
 20        /// 在窗体的加载事件里写对控件的初始化以及限定
 21        /// </summary>
 22        /// <param name="sender"></param>
 23        /// <param name="e"></param>

 24        private void MyListFrom_Load(object sender, EventArgs e)
 25        {
 26            //下拉框内容设定为不可改变
 27            cmbType.DropDownStyle = ComboBoxStyle.DropDownList;
 28           //给下拉框添加元素
 29            cmbType.Items.Add("-=请选择显示的样式=-");
 30            cmbType.Items.Add("详细信息");
 31            cmbType.Items.Add("平铺");
 32            cmbType.Items.Add("简易显示");
 33            cmbType.SelectedIndex = 0;  //默认选中第一个项
 34            //设定ListView控件的右键关联菜单
 35            lvwMyList.ContextMenuStrip = contextMenuStrip1;
 36            lvwMyList.View = View.Details;  //设定ListView控件的默认显示方法
 37            lvwMyList.SmallImageList = imlShowHead;  //指定并关联ListView控件小图标对应的图片存储控件
 38            lvwMyList.LargeImageList = imlShowBigPic; //指定并关联ListView控件大图标对应的图片存储控件
 39            lvwMyList.GridLines = true;  //设定ListView控件是否显示网格线
 40            lvwMyList.MultiSelect = false;  //设定ListView控件是否可以多选
 41            lvwMyList.FullRowSelect = true;  //设定ListView控件是否可以一次选中整行
 42            //给ListView控件添加列头
 43            lvwMyList.Columns.Add("MyQQ号码",100); //100为列头的宽度
 44            lvwMyList.Columns.Add("昵称");
 45            lvwMyList.Columns.Add("年龄");
 46            lvwMyList.Columns.Add("性别");
 47        }

 48
 49        /// <summary>
 50        /// 查询按钮的点击事件
 51        /// </summary>
 52        /// <param name="sender"></param>
 53        /// <param name="e"></param>

 54        private void btnSelect_Click(object sender, EventArgs e)
 55        {
 56            lvwMyList.Items.Clear();  //每次点击时,首先清空ListView内的所有项,不然每点一次会重复出现
 57            ListViewItem lvl = new ListViewItem();  //创建一个ListViewItem对象,只有ListViewItem对象才能添加到ListView控件内
 58            lvl.Text = "10000";   
 59            lvl.Tag = "标记1";  //设定Tag属性,此属性不显示,可以用来标记,比如主键
 60            lvl.ImageIndex = 49;  //设定对象对应的图像的索引
 61            lvl.SubItems.AddRange(new string[]{"MoShin","保密",""});  //添加子项
 62            lvwMyList.Items.Add(lvl);  //将对象装入ListView控件
 63            //在添加一个对象
 64            ListViewItem lvi = new ListViewItem();
 65            lvi.Text = "10001";
 66            lvi.Tag = "标记2";
 67            lvi.ImageIndex = 89;
 68            lvi.SubItems.AddRange(new string[] "小乖""19""" });
 69            lvwMyList.Items.Add(lvi);
 70        }

 71
 72        /// <summary>
 73        /// 下拉框选中索引发生变化时触发该事件
 74        /// </summary>
 75        /// <param name="sender"></param>
 76        /// <param name="e"></param>

 77        private void cmbType_SelectedIndexChanged(object sender, EventArgs e)
 78        {
 79            string myType = cmbType.Text;  //接受到选择的显示样式的值
 80            //根据值去判断该使用那种显示方式
 81            if (myType == "详细信息")  
 82            {
 83                lvwMyList.View = View.Details; 
 84            }

 85            else if(myType == "平铺")
 86            {
 87                lvwMyList.View = View.LargeIcon;
 88            }

 89            else if (myType == "简易显示")
 90            {
 91                lvwMyList.View = View.Tile;
 92            }

 93        }

 94
 95
 96        //当鼠标右键关联菜单点击“查看”时触发该事件
 97        private void 查看TagToolStripMenuItem_Click(object sender, EventArgs e)
 98        {
 99            //判断是否选择了ListView控件中显示的项
100            if (lvwMyList.SelectedItems.Count > 0)
101            {
102                MessageBox.Show(lvwMyList.SelectedItems[0].Tag.ToString(),"查询Tag",MessageBoxButtons.OK,MessageBoxIcon.Information);
103            }

104            else 
105            {
106                MessageBox.Show("请选择一个用户!"); //如果没有选中,提示需要选中
107            }

108        }

109    }

110}

111

 

抱歉!评论已关闭.