以下方法实现获取ComboBox中被选中项的值:
(1)在Visual Studio中新建一个“Windows 窗体应用程序”项目
(2)在项目中添加一个类MyItem。这个类有两个用途:
MyItem.cs代码
namespace WindowsFormsApplication1
{
class MyItem
{
public MyItem(string name, int value)
{
Name = name;
Value = value;
}
public string Name { get; private set; }
public int Value { get; private set; }
}
}
(3)在Form1上布置一个ComboBox、一个Label
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/42166d224f4a20a47c64f39696529822720ed06d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
(4)窗体代码 Form1.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 清空lable1
label1.Text = string.Empty;
// 列表集合将作为comboBox1的数据源
List<MyItem> list = new List<MyItem>();
list.Add(new MyItem("张三", 10));
list.Add(new MyItem("李四", 20));
list.Add(new MyItem("王五", 30));
// 绑定
comboBox1.DataSource = list;
// 在comboBox1中显示MyItem的Name属性
comboBox1.DisplayMember = "Name";
}
// 获取被选中项的Value值
private void comboBox1_SelectedIndexChanged(
object sender,
EventArgs e)
{
// 将被选中的项目强制转换为MyItem
MyItem item = comboBox1.SelectedItem as MyItem;
// 显示被选中项的值
label1.Text = string.Format("Value = {0}", item.Value);
}
}
}
(5)运行
程序启动后
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/4bed2e738bd4b31c97965dea81d6277f9e2ff83d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
改变comboBox1选择
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/9e3df8dcd100baa10fc98eea4110b912c9fc2efe?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)