参考书目:C#6.0学习笔记——从第一行C#代码到第一个项目设计(作者周家安)P326
学习内容:使用listBox的DataSource属性
第一步:对话框布局如下:
第二步:定义一个Employee类。
第三步:造Form1类的内部定义一个GetData方法,产生一个Employee类的实例,作为示例数据源。
第四步:编写Form1构造函数代码和button的代码。
本程序主要代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Example11_13
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//处理Button.click事件
button1.Click += button1_Click;
listBox1.DisplayMember = "EmpName"; //列表中显示员工姓名
listBox1.ValueMember = "EmpID"; //列表中显示员工编号
listBox1.DataSource = GetData(); //
}
/// <summary>
/// 定义一个私有方法,产生Employee对象实例
/// </summary>
/// <returns></returns>
private List<Employee> GetData()
{
return new List<Employee>
{
new Employee{EmpID = "E-1001", EmpName = "小方"},
new Employee { EmpID = "K-1021", EmpName = "小赵" },
new Employee { EmpID = "F-2025", EmpName = "小卢" },
new Employee { EmpID = "D-1230", EmpName = "小曾" },
new Employee { EmpID = "E-1005", EmpName = "小罗" },
new Employee { EmpID = "G-4010", EmpName = "小王" },
new Employee { EmpID = "X-9003", EmpName = "小杜" },
new Employee { EmpID = "L-7106", EmpName = "小纪" }
};
}
private void button1_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
if(listBox1.SelectedIndex > -1)
{ //选中一项时
string empID = listBox1.SelectedValue.ToString();
btn.Text = string.Format("当前选中的员工编号为:{0}", empID);
}
}
}
/// <summary>
/// 定义Employee类,包含员工编号和员工姓名属性
/// </summary>
public class Employee
{
public string EmpID { get; set; } //属性:员工编号
public string EmpName { get; set; } //属性:员工姓名
}
}
运行结果如下。在ListBox中选择一项,然后单击,可以看到选中的Employee对象的EmpID属性值呈现在按钮上。