《2022年C#中ListView控件应用实例演示教学 .pdf》由会员分享,可在线阅读,更多相关《2022年C#中ListView控件应用实例演示教学 .pdf(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C#中 Li st Vi ew 控 件应 用 实 例名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 19 页 -C#中 ListView控件应用实例ListView控件1功能ListView 控件可以显示带图标的项列表,用户可使用该控件创建类似Windows资源管理器的用户界面。ListView控件具有 4 种视图模式:(1)仅文本,这是默认视图,此视图下,只显示列表项的文本;(2)带有小图标的文本,此视图下,小图标随列表项的文本同时显示;(3)带有大图标的文本,此视图下,大图标随列表项的文本同时显示;(4)报表视图,此视图下,列表项显示在多个列中。图 1 为 List View
2、控件。图 1 ListView 控件2属性ListView 控件常用属性及说明如表1 所示。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 19 页 -表 1 ListView控件常用属性及说明下面对比较重要的属性进行详细介绍。(1)View 属性。用于获取或设置项在控件中的显示方式。语法:public View View get;set;属性值:View 值之一。默认为LargeIcon。View 的属性值及说明如表2 所示。表 2 View 的属性值及说明(2)FullrowSelect属性。用于指定是只选择某一项,还是选择某一项所在的整行。语法:public bool Fu
3、llRowSelect get;set;属性值:如果单击某项会选择该项及其所有子项,则为True;如果单击某项仅选择项本身,则为False。默认为 False。说明:除非将 ListView控件的 View 属性设置为 Details,否则FullRowSelect属性无效。在 ListView显示带有许多子项的项时,通常使用名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 19 页 -FullrowSelect属性,并且,在由于控件内容的水平滚动而无法看到项文本时,能够查看选定项是非常重要的。(3)GridLines 属性。指定在包含控件中项及其子项的行和列之间是否显示网格线。语
4、法:public bool GridLines get;set;属性值:如果在项及其子项的周围绘制网格线,则为True;否则为False。默认为 False。说明:除非将 ListView控件的 View 属性设置为 Details,否则 GridLines属性无效。示例FullrowSelect属性本示例主要介绍 View 属性和 FullrowSelect属性的使用方法,示例运行结果如图 2 所示。图 2 FullrowSelect属性程序主要代码如下:this.lvStudent.View=View.Details;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 19 页
5、-this.lvStudent.FullRowSelect=True;this.lvStudent.GridLines=True;完整程序代码如下:主程序文件完整程序代码using System;using System.Collections.Generic;using System.Windows.Forms;namespace _8_07 static class Program /应用程序的主入口点。/STAThread static void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRen
6、deringDefault(false);Application.Run(new frmListView();Form1窗体设计文件完整程序代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace _8_07 public partial class Form1:Form public Form1()Initiali
7、zeComponent();名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 19 页 -Form1窗体代码文件完整程序代码namespace _8_07 partial class Form1 /必需的设计器变量。/private System.ComponentModel.IContainer components=null;/清理所有正在使用的资源。/如果应释放托管资源,为 true;否则为false。protected override void Dispose(bool disposing)if(disposing&(components!=null)components
8、.Dispose();base.Dispose(disposing);#region Windows 窗体设计器生成的代码/设计器支持所需的方法 -不要/使用代码编辑器修改此方法的内容。/private void InitializeComponent()ponents=new System.ComponentModel.Container();this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;this.Text=Form1;#endregion frmListView窗体设计文件完整程序代码using System;usin
9、g System.Collections.Generic;using System.ComponentModel;using System.Data;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 19 页 -using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace _8_07 public partial class frmListView:Form public frmListView()InitializeComponent(
10、);private void frmListView_Load(object sender,EventArgs e)private void bntDelete_Click(object sender,EventArgs e)lvStudent.Items.Clear();private void bntAdd_Click(object sender,EventArgs e)this.lvStudent.View=View.Details;this.lvStudent.FullRowSelect=true;SqlConnection con=new SqlConnection(server=(
11、local);uid=sa;pwd=;database=zhy);con.Open();SqlCommand com=new SqlCommand(select*from student,con);SqlDataReader dr=com.ExecuteReader();this.lvStudent.Items.Clear();while(dr.Read()ListViewItem lt=new ListViewItem(dr.GetValue(0).ToString();lt.SubItems.Add(dr.GetValue(1).ToString();lt.SubItems.Add(dr.
12、GetValue(2).ToString();this.lvStudent.Items.Add(lt);dr.Close();con.Close();this.lvStudent.Alignment=ListViewAlignment.SnapToGrid;this.lvStudent.GridLines=true;private void bntEsce_Click(object sender,EventArgs e)Application.Exit();名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 19 页 -private void label1_Click(object
13、 sender,EventArgs e)private void lvStudent_SelectedIndexChanged(object sender,EventArgs e)private void lvStudent_Click(object sender,EventArgs e)frmListView窗体代码文件完整程序代码namespace _8_07 partial class frmListView /必需的设计器变量。/private System.ComponentModel.IContainer components=null;/清理所有正在使用的资源。/如果应释放托管资
14、源,为 true;否则为false。protected override void Dispose(bool disposing)if(disposing&(components!=null)components.Dispose();base.Dispose(disposing);#region Windows 窗体设计器生成的代码/设计器支持所需的方法 -不要/使用代码编辑器修改此方法的内容。/private void InitializeComponent()this.lvStudent=new System.Windows.Forms.ListView();名师资料总结-精品资料欢迎下载
15、-名师精心整理-第 8 页,共 19 页 -this.columnHeader1=new System.Windows.Forms.ColumnHeader();this.columnHeader2=new System.Windows.Forms.ColumnHeader();this.columnHeader3=new System.Windows.Forms.ColumnHeader();this.bntAdd=new System.Windows.Forms.Button();this.bntDelete=new System.Windows.Forms.Button();this.b
16、ntEsce=new System.Windows.Forms.Button();this.txtName=new System.Windows.Forms.TextBox();this.label1=new System.Windows.Forms.Label();this.SuspendLayout();/lvStudent/this.lvStudent.Columns.AddRange(new System.Windows.Forms.ColumnHeader this.columnHeader1,this.columnHeader2,this.columnHeader3);this.l
17、vStudent.Location=new System.Drawing.Point(26,32);this.lvStudent.Name=lvStudent;this.lvStudent.Size=new System.Drawing.Size(352,114);this.lvStudent.TabIndex=0;this.lvStudent.UseCompatibleStateImageBehavior=false;this.lvStudent.View=System.Windows.Forms.View.Details;this.lvStudent.SelectedIndexChange
18、d+=new System.EventHandler(this.lvStudent_SelectedIndexChanged);this.lvStudent.Click+=new System.EventHandler(this.lvStudent_Click);/columnHeader1/this.columnHeader1.Text=学号;this.columnHeader1.Width=97;/columnHeader2/this.columnHeader2.Text=学生姓名;this.columnHeader2.Width=136;/columnHeader3/this.colum
19、nHeader3.Text=学生班级;this.columnHeader3.Width=118;/bntAdd 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 19 页 -/this.bntAdd.Location=new System.Drawing.Point(26,171);this.bntAdd.Name=bntAdd;this.bntAdd.Size=new System.Drawing.Size(75,23);this.bntAdd.TabIndex=2;this.bntAdd.Text=加截(&F);this.bntAdd.UseVisualStyleBackCol
20、or=true;this.bntAdd.Click+=new System.EventHandler(this.bntAdd_Click);/bntDelete/this.bntDelete.Location=new System.Drawing.Point(159,171);this.bntDelete.Name=bntDelete;this.bntDelete.Size=new System.Drawing.Size(75,23);this.bntDelete.TabIndex=3;this.bntDelete.Text=清除(&G);this.bntDelete.UseVisualSty
21、leBackColor=true;this.bntDelete.Click+=new System.EventHandler(this.bntDelete_Click);/bntEsce/this.bntEsce.Location=new System.Drawing.Point(303,171);this.bntEsce.Name=bntEsce;this.bntEsce.Size=new System.Drawing.Size(75,23);this.bntEsce.TabIndex=4;this.bntEsce.Text=退出(&T);this.bntEsce.UseVisualStyl
22、eBackColor=true;this.bntEsce.Click+=new System.EventHandler(this.bntEsce_Click);/txtName/this.txtName.Location=new System.Drawing.Point(159,209);this.txtName.Name=txtName;this.txtName.Size=new System.Drawing.Size(116,21);this.txtName.TabIndex=5;/label1/this.label1.AutoSize=true;this.label1.Location=
23、new System.Drawing.Point(73,212);this.label1.Name=label1;this.label1.Size=new System.Drawing.Size(59,12);名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 19 页 -this.label1.TabIndex=6;this.label1.Text=学生姓名:;this.label1.Click+=new System.EventHandler(this.label1_Click);/frmListView/this.AutoScaleDimensions=new System.
24、Drawing.SizeF(6F,12F);this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;this.ClientSize=new System.Drawing.Size(418,266);this.Controls.Add(this.label1);this.Controls.Add(this.txtName);this.Controls.Add(this.bntEsce);this.Controls.Add(this.bntDelete);this.Controls.Add(this.bntAdd);this.Contr
25、ols.Add(this.lvStudent);this.Name=frmListView;this.Text=frmListView;this.Load+=new System.EventHandler(this.frmListView_Load);this.ResumeLayout(false);this.PerformLayout();#endregion private System.Windows.Forms.ListView lvStudent;private System.Windows.Forms.Button bntAdd;private System.Windows.For
26、ms.Button bntDelete;private System.Windows.Forms.Button bntEsce;private System.Windows.Forms.ColumnHeader columnHeader1;private System.Windows.Forms.ColumnHeader columnHeader2;private System.Windows.Forms.ColumnHeader columnHeader3;private System.Windows.Forms.TextBox txtName;private System.Windows.
27、Forms.Label label1;3方法(1)HitTest 方法。该方法在给定x 和 y 坐标的情况下,提供项信息。(2)Clear 方法。该方法用于删除ListView 控件中所有的项。语法:public void Clear()例如,下面删除名称为lvStudent的 ListView控件的所有项:lvStudent.Items.Clear();4事件名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 19 页 -(1)ItemCheck 事件。该事件在选中ListView 控件项时触发此事件。(2)Click 事件。该事件在单击ListView控件列时触发。语法:pub
28、lic event EventHandler Click 示例Click 事件的使用本示例实现效果为,当程序运行时,单击【ListView】按钮,将姓名显示在文本框中。示例运行结果如图3 所示。图 3 Click事件的使用程序主要代码如下:private void lvStudent_Click(object sender,EventArgs e)this.txtName.Text=lvStudent.SelectedItems0.SubItems1.Text;完整程序代码如下:主程序文件完整程序代码using System;using System.Collections.Generic;u
29、sing System.Windows.Forms;namespace _8_07 static class Program /应用程序的主入口点。/STAThread static void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new frmListView();Form1窗体设计文件完整程序代码using System;using System.Collections.Generic;using System.C
30、omponentModel;using System.Data;名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 19 页 -using System.Drawing;using System.Text;using System.Windows.Forms;namespace _8_07 public partial class Form1:Form public Form1()InitializeComponent();Form1窗体代码文件完整程序代码namespace _8_07 partial class Form1 /必需的设计器变量。/private System.C
31、omponentModel.IContainer components=null;/清理所有正在使用的资源。/如果应释放托管资源,为 true;否则为false。protected override void Dispose(bool disposing)if(disposing&(components!=null)components.Dispose();base.Dispose(disposing);#region Windows 窗体设计器生成的代码/设计器支持所需的方法 -不要/使用代码编辑器修改此方法的内容。/private void InitializeComponent()pon
32、ents=new System.ComponentModel.Container();名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 19 页 -this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;this.Text=Form1;#endregion frmListView窗体设计文件完整程序代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawi
33、ng;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace _8_07 public partial class frmListView:Form public frmListView()InitializeComponent();private void frmListView_Load(object sender,EventArgs e)private void bntDelete_Click(object sender,EventArgs e)lvStudent.Items.C
34、lear();private void bntAdd_Click(object sender,EventArgs e)this.lvStudent.View=View.Details;this.lvStudent.FullRowSelect=true;SqlConnection con=new SqlConnection(server=(local);uid=sa;pwd=;database=zhy);con.Open();SqlCommand com=new SqlCommand(select*from student,con);SqlDataReader dr=com.ExecuteRea
35、der();this.lvStudent.Items.Clear();while(dr.Read()ListViewItem lt=new ListViewItem(dr.GetValue(0).ToString();名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 19 页 -lt.SubItems.Add(dr.GetValue(1).ToString();lt.SubItems.Add(dr.GetValue(2).ToString();this.lvStudent.Items.Add(lt);dr.Close();con.Close();this.lvStudent.Al
36、ignment=ListViewAlignment.SnapToGrid;this.lvStudent.GridLines=true;private void bntEsce_Click(object sender,EventArgs e)Application.Exit();private void label1_Click(object sender,EventArgs e)private void lvStudent_SelectedIndexChanged(object sender,EventArgs e)private void lvStudent_Click(object sen
37、der,EventArgs e)this.txtName.Text=lvStudent.SelectedItems0.SubItems1.Text;frmListView窗体代码文件完整程序代码namespace _8_07 partial class frmListView /必需的设计器变量。/private System.ComponentModel.IContainer components=null;/清理所有正在使用的资源。/如果应释放托管资源,为 true;否则为false。protected override void Dispose(bool disposing)if(dis
38、posing&(components!=null)名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 19 页 -components.Dispose();base.Dispose(disposing);#region Windows 窗体设计器生成的代码/设计器支持所需的方法 -不要/使用代码编辑器修改此方法的内容。/private void InitializeComponent()this.lvStudent=new System.Windows.Forms.ListView();this.columnHeader1=new System.Windows.Forms.Colu
39、mnHeader();this.columnHeader2=new System.Windows.Forms.ColumnHeader();this.columnHeader3=new System.Windows.Forms.ColumnHeader();this.bntAdd=new System.Windows.Forms.Button();this.bntDelete=new System.Windows.Forms.Button();this.bntEsce=new System.Windows.Forms.Button();this.txtName=new System.Windo
40、ws.Forms.TextBox();this.label1=new System.Windows.Forms.Label();this.SuspendLayout();/lvStudent/this.lvStudent.Columns.AddRange(new System.Windows.Forms.ColumnHeader this.columnHeader1,this.columnHeader2,this.columnHeader3);this.lvStudent.Location=new System.Drawing.Point(26,32);this.lvStudent.Name=
41、lvStudent;this.lvStudent.Size=new System.Drawing.Size(352,114);this.lvStudent.TabIndex=0;this.lvStudent.UseCompatibleStateImageBehavior=false;this.lvStudent.View=System.Windows.Forms.View.Details;this.lvStudent.SelectedIndexChanged+=new System.EventHandler(this.lvStudent_SelectedIndexChanged);this.l
42、vStudent.Click+=new System.EventHandler(this.lvStudent_Click);/columnHeader1/this.columnHeader1.Text=学号;名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 19 页 -this.columnHeader1.Width=97;/columnHeader2/this.columnHeader2.Text=学生姓名;this.columnHeader2.Width=136;/columnHeader3/this.columnHeader3.Text=学生班级;this.columnHe
43、ader3.Width=118;/bntAdd/this.bntAdd.Location=new System.Drawing.Point(26,171);this.bntAdd.Name=bntAdd;this.bntAdd.Size=new System.Drawing.Size(75,23);this.bntAdd.TabIndex=2;this.bntAdd.Text=加截(&F);this.bntAdd.UseVisualStyleBackColor=true;this.bntAdd.Click+=new System.EventHandler(this.bntAdd_Click);
44、/bntDelete/this.bntDelete.Location=new System.Drawing.Point(159,171);this.bntDelete.Name=bntDelete;this.bntDelete.Size=new System.Drawing.Size(75,23);this.bntDelete.TabIndex=3;this.bntDelete.Text=清除(&G);this.bntDelete.UseVisualStyleBackColor=true;this.bntDelete.Click+=new System.EventHandler(this.bn
45、tDelete_Click);/bntEsce/this.bntEsce.Location=new System.Drawing.Point(303,171);this.bntEsce.Name=bntEsce;this.bntEsce.Size=new System.Drawing.Size(75,23);this.bntEsce.TabIndex=4;this.bntEsce.Text=退出(&T);this.bntEsce.UseVisualStyleBackColor=true;this.bntEsce.Click+=new System.EventHandler(this.bntEs
46、ce_Click);/名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 19 页 -/txtName/this.txtName.Location=new System.Drawing.Point(159,209);this.txtName.Name=txtName;this.txtName.Size=new System.Drawing.Size(116,21);this.txtName.TabIndex=5;/label1/this.label1.AutoSize=true;this.label1.Location=new System.Drawing.Point(73,212
47、);this.label1.Name=label1;this.label1.Size=new System.Drawing.Size(59,12);this.label1.TabIndex=6;this.label1.Text=学生姓名:;this.label1.Click+=new System.EventHandler(this.label1_Click);/frmListView/this.AutoScaleDimensions=new System.Drawing.SizeF(6F,12F);this.AutoScaleMode=System.Windows.Forms.AutoSca
48、leMode.Font;this.ClientSize=new System.Drawing.Size(418,266);this.Controls.Add(this.label1);this.Controls.Add(this.txtName);this.Controls.Add(this.bntEsce);this.Controls.Add(this.bntDelete);this.Controls.Add(this.bntAdd);this.Controls.Add(this.lvStudent);this.Name=frmListView;this.Text=frmListView;t
49、his.Load+=new System.EventHandler(this.frmListView_Load);this.ResumeLayout(false);this.PerformLayout();#endregion private System.Windows.Forms.ListView lvStudent;private System.Windows.Forms.Button bntAdd;private System.Windows.Forms.Button bntDelete;private System.Windows.Forms.Button bntEsce;priva
50、te System.Windows.Forms.ColumnHeader columnHeader1;private System.Windows.Forms.ColumnHeader columnHeader2;private System.Windows.Forms.ColumnHeader columnHeader3;private System.Windows.Forms.TextBox txtName;private System.Windows.Forms.Label label1;名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 19 页 -名师资料总结-精品资料欢