摘要:C# - 使用 List
在 WinForm 中,使用工具的方式對 ComboBox 填入值,不是我所預期的作法,因為我所想的 ComboBox 應該要是如同 DropDownList 一樣;但我錯了,之後上網找了一下,找到了 小歐 寫的這篇「ComboBox 新增 Item 時具有 Text 與 Value 」後才發現,原來是要這樣用,只可惜我的資料很少,不太需要用到 DataTable 的方式。之後想到了用 List<T> 來試一試...嗯嗯嗯,也達到了不錯的效果,以下就來實作一下...
步驟一:設計一下畫面
步驟二:開始撰寫程式碼
Code:
namespace WinForm_Directory
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public class cboDataList
{
public string cbo_Name { get; set; }
public string cbo_Value { get; set; }
}
private void Form1_Load(object sender, EventArgs e)
{
List<cboDataList> lis_DataList = new List<cboDataList>()
{
new cboDataList
{
cbo_Name = "小呆",
cbo_Value = "Danny"
},
new cboDataList
{
cbo_Name = "傻婆",
cbo_Value = "Peggy"
},
new cboDataList
{
cbo_Name = "哪位",
cbo_Value = "Who"
}
};
comboBox1.DataSource = lis_DataList;
comboBox1.DisplayMember = "cbo_Name";
comboBox1.ValueMember = "cbo_Value";
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(comboBox1.Text + "===" + comboBox1.SelectedValue);
}
private void button2_Click(object sender, EventArgs e)
{
Dictionary<string, string> di_ChkData = new Dictionary<string, string>();
di_ChkData.Add("Danny", "小呆");
di_ChkData.Add("Peggy", "傻婆");
if (di_ChkData.ContainsKey(comboBox1.SelectedValue.ToString()))
MessageBox.Show(di_ChkData[comboBox1.SelectedValue.ToString()] + ":我有在唷!!!");
else
MessageBox.Show("你哪位!?");
}
}
}
結果:
參考:
[C#][VB.NET] ComboBox 新增 Item 時具有 Text 與 Value