winform - ComboBox_ListView2

Student.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace ComboBox_ListView
 8 {
 9     class Student
10     {
11         // 属性
12         public int ID { get; set; }
13         public string Name { get; set; }
14         public DateTime BirthDate { get; set; }
15         public int Age { get; set; }
16
17         // 构造
18         public Student(int id, string name, DateTime birthdate)
19         {
20             this.ID = id;
21             this.Name = name;
22             this.BirthDate = birthdate;
23             this.Age = DateTime.Now.Year - birthdate.Year;
24         }
25
26         // 方法
27         /// <summary>   重写ToString()方法
28         ///
29         /// </summary>
30         /// <returns>返回Student类的Name属性</returns>
31         public override string ToString()
32         {
33             return this.Name;
34         }
35     }
36 }

Form1.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10
11 namespace ComboBox_ListView
12 {
13     public partial class Form1 : Form
14     {
15         public Form1()
16         {
17             InitializeComponent();
18         }
19
20         private void Form1_Load(object sender, EventArgs e)
21         {
22             // 设置comboBox1 样式: DropDownList
23             comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
24             // comboBox1 绑定数据源
25             comboBox1.DataSource = Enum.GetNames( typeof(View) );
26             // comboBox1 默认选中第二项: Details
27             comboBox1.SelectedIndex = 1;
28             // listView1指定大图标
29             listView1.LargeImageList = imageList1;
30             // listView1指定小图标
31             listView1.SmallImageList = imageList2;
32             // listView1处于列表状态时,全行选中
33             listView1.FullRowSelect = true;
34             // listView1添加列
35             listView1.Columns.Add(new ColumnHeader() { Text = "姓名", Width = 120, ImageIndex = 0, TextAlign = HorizontalAlignment.Center });
36             listView1.Columns.Add(new ColumnHeader() { Text = "ID", TextAlign = HorizontalAlignment.Center });
37             listView1.Columns.Add(new ColumnHeader() { Text = "年龄", TextAlign = HorizontalAlignment.Center});
38             listView1.Columns.Add(new ColumnHeader() { Text = "生日", Width = 150, TextAlign = HorizontalAlignment.Center});
39
40
41             // 绑定ListViewItem
42             BindListViewItem();
43
44         }
45
46         private void BindListViewItem()
47         {
48             List<Student> lstStudent = new List<Student>
49             {
50                 new Student(1, "张三", new DateTime(1988,08,09) ),
51                 new Student(2, "李四", new DateTime(1987,11,10) ),
52                 new Student(3, "王五", new DateTime(1998,07,06) ),
53                 new Student(4, "赵六", new DateTime(1995,06,15) ),
54                 new Student(5, "陈七", new DateTime(1980,05,13) )
55             };
56
57             // 将信息写入到listView1控件
58             foreach (Student student in lstStudent)
59             {
60                 ListViewItem lvi = new ListViewItem();
61                 lvi.Text = student.Name;
62                 lvi.ImageIndex = 0;
63                 lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, student.ID.ToString()));
64                 lvi.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = student.Age.ToString() });
65                 lvi.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = student.BirthDate.ToString("yyyy-MM-dd") });
66
67                 // 将构造好的带有子项的列表项添加到listView1控件
68                 listView1.Items.Add(lvi);
69             }
70
71         }
72         // comboBox1选择项更改时触发
73         private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
74         {
75             // listView1的视图根据comboBox的内容改变
76             listView1.View = (View)Enum.Parse(typeof(View), comboBox1.Text);
77         }
78
79     }
80 }

时间: 2024-11-07 21:01:15

winform - ComboBox_ListView2的相关文章

winform学习日志(二十三)---------------socket(TCP)发送文件

一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys

.Net WinForm 控件键盘消息处理剖析

在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等,那么这些方法是如何被组织的,每一个方法的具体含义又是什么哪?Win32的键盘消息又是如何到达控件上的这些方法的,本文将着重阐述这些问题,对.Net WinForm控件的键盘消息处理过程进行剖析.  1.      WinForm消息循环 大家都知道WinForm也是依赖于底层的消息机制的,通常我们

Winform软件,不要在线程里操作UI

对于Winform软件,不要在线程里操作UI,不要相信:StartForm.CheckForIllegalCrossThreadCalls = false; 于是,把所有的代码都改成主线程委托调用的方式 private delegate void SetTextHandle(string id, string value); private void ThreadSetText(string id, string value) { this.Controls.Find(id, true)[0].

WinForm 多窗体、菜单和工具栏

今天,我首先先学习了一下在WinForm程序开发中常遇到的问题——多窗体程序运行问题. 在开发多窗体程序时,常会遇到以下四个方面的问题: 一.哪个是主窗体 问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了. 当遇到这个问题时,我们通常的解决办法是:构造函数传值,将窗体传到另一个窗体中去,进行关闭. 二.窗体只能打开一个 创建一个全局的泛型集合,为了放置全部打开的窗体.在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了. 问题:

winform里面打开网页,以及意想不到的功能

首先,新建一个winform项目,我在想,如果想要实现打开网页功能的话,应该会有一个控件什么之类的吧?查了工具栏,真的有一个名叫 WebBrowser的家伙,应该就是这货没错了.在网上查了它的资料更加坚定了我的判断,二话不说,拖进Form里.接着,就是要显示一个网页了,要怎 么实现呢?继续查看WebBrowser都有啥属性和方法: 方法 说明 GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项 GoHo

golang winForm开发

最近一直在看rust,语法挺头疼的,正好趁着1.0发布前的一段时间,回来玩玩golang. golang的语法很简单,liteIde又变得越来越好用,因此学习golang不会花费您多少时间,还能够清醒被rust晃晕的头脑,哈哈. winform开发虽然已经不再流行,但是用来练手却非常合适,写小工具也很爽,废话少说,golang的UI库就是大名鼎鼎的 andlabs ui, 在github的star数已达到1946,相当可观.这是一个跨平台的UI库,可以运行在 windows/linux/mac上

[WinForm][DevExpress]自定义GridControl中按钮文字内容

最近项目开发中,使用到了GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如图: 那怎么定义两个按钮问题,以符合项目需求了?经过一番搜索发现利用GridLocalizer可以很好实现: 核心代码: public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyValue = null; /// <su

winform下通过webclient使用非流方式上传(post)数据和文件

这两天因为工作的需要,需要做一个winform上传数据到服务器端的程序.当时第一个想法是通过webservice的方式来实现,后来觉得麻 烦,想偷懒就没有用这样的方式,http的post方式变成了第一选择.因为以前用的都是httpwebrequest之类的东西进行post提 交,winform下面还真的是第一次,不过很快就在网上找到了webclient这个类,接下来开始实现功能,话说webclient用起来还真的很简 单,一个头信息的声明,然后是URL,最后是post的数据,就完事了.正在高兴的

[WinForm] VS2010发布、打包安装程序(超全超详细)

1. 在vs2010 选择"新建项目"→" 其他项目类型"→" Visual Studio Installer→"安装项目": 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1."应用程序文件夹"表示要安装的应用程序需要添加的文件: 2."用户的'程序'菜单"表示:应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放