相關(guān)資訊
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584212
-
Windows優(yōu)化大師下載量:419725
-
90美女秀(視頻聊天軟件)下載量:366966
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365708
-
快播手機(jī)版下載量:325898
c#(winform)中ComboBox添加Key/Value項(xiàng)、獲取選中項(xiàng)、根據(jù)Key、Value設(shè)置選中項(xiàng)總結(jié)
2013/7/4 9:37:24 出處:本站原創(chuàng) 人氣:4216次 字號(hào):小 中 大
因?yàn)榇蠹胰粘?yīng)用通常是鍵/值對(duì)的形式去綁定它的.
參考了一些網(wǎng)上的例子,最終寫(xiě)了一個(gè)輔助類用于方便對(duì)ComboBox的操作:
用下面這個(gè)類的實(shí)例作為ComboBox的添加項(xiàng):
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace tp7309.Winform
{
public class ListItem
{
public string Key { get; set; }
public string Value { get; set; }
public ListItem(string strKey, string strValue)
{
this.Key = strKey;
this.Value = strValue;
}
public override string ToString()
{
return this.Key;
}
/// <summary>
/// 根據(jù)ListItem中的Value找到特定的ListItem(僅在ComboBox的Item都為L(zhǎng)istItem時(shí)有效)
/// </summary>
/// <param name="cmb">要查找的ComboBox</param>
/// <param name="strValue">要查找ListItem的Value</param>
/// <returns>返回傳入的ComboBox中符合條件的第一個(gè)ListItem,如果沒(méi)有找到則返回null.</returns>
public static ListItem FindByValue(ComboBox cmb, string strValue)
{
foreach (ListItem li in cmb.Items)
{
if (li.Value == strValue)
{
return li;
}
}
return null;
}
/// <summary>
/// 根據(jù)ListItem中的Key找到特定的ListItem(僅在ComboBox的Item都為L(zhǎng)istItem時(shí)有效)
/// </summary>
/// <param name="cmb">要查找的ComboBox</param>
/// <param name="strValue">要查找ListItem的Key</param>
/// <returns>返回傳入的ComboBox中符合條件的第一個(gè)ListItem,如果沒(méi)有找到則返回null.</returns>
public static ListItem FindByText(ComboBox cmb, string strText)
{
foreach (ListItem li in cmb.Items)
{
if (li.Value == strText)
{
return li;
}
}
return null;
}
}
}
使用前引入命名空間:tp7309.Winform
添加項(xiàng):
cmb1.Items.Add(new ListItem("key1", "value1"));
cmb1.Items.Add(new ListItem("key2", "value2"));
獲取選中項(xiàng):
ListItem li = (ListItem)cmb1.SelectedItem;
ListItem li1 = ListItem.FindByValue(cmb1, "value1"); //根據(jù)Key得到選中項(xiàng)
ListItem li2 = ListItem.FindByText(cmb1, "key1"); //根據(jù)Value得到選中項(xiàng)
string strKey = li.Key; //得到選中項(xiàng)Key
string strValue = li.Value; //得到選中項(xiàng)Value
設(shè)置選中項(xiàng):
cmb1.SelectedIndex = 0; //根據(jù)索引修改選中項(xiàng)
cmb1.SelectedItem = ListItem.FindByValue(cmb1, "value1"); //根據(jù)Key得到選中項(xiàng)
cmb1.SelectedItem = ListItem.FindByText(cmb1, "key1"); //根據(jù)Value得到選中項(xiàng)