您的位置:首页 > 编程语言 > C#

在C#应用程序中,对comboBox这个控件的一些基本用法

2014-04-22 14:22 477 查看
在C#的winform中,我们都发现comboBox没有一个能绑定内容的容器,而此外的控件都有一个tag属性用来绑定信息,也没有仔细查过,vs为什么这么设计,不过有一种方法能够解决这个问题。

(1)我们创建一个ComboBoxItem类:

public class ComboBoxItem

{

private
string _text = null;

private
object _value = null;

public
string Text { get { return this._text; } set { this._text = value; } }

public
object Value { get { return this._value; } set { this._value = value; } }

public
override string ToString()

{

return
this._text;

}

}

(2)在添加的时间,我们将这个类的列表添加到comboBox的item属性中:

private void Form1_Load(object sender, EventArgs e)

{

ComboBoxItem
cbi1 = new ComboBoxItem();

cbi1.Text
= "测试Test1";

cbi1.Value
= "测试Value1";

comboBox1.Items.Add(cbi1);

ComboBoxItem
cbi2 = new ComboBoxItem();

cbi2.Text
= "测试Test2";

cbi2.Value
= "测试Value2";

comboBox1.Items.Add(cbi2);

}

运行的时候我们看到界面是这样子的:



(3)在我们使用的时候:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if
(comboBox1.Items != null && comboBox1.Items.Count > 0 && comboBox1.SelectedItem != null)

{

string
text = ((ComboBoxItem)comboBox1.SelectedItem).Text;

object
vlaue = ((ComboBoxItem)comboBox1.SelectedItem).Value;

}

}

其中test是表面要显示的文档,而vlaue则是我们绑定的object的数据,给大家一个好玩的想法。我实现了一个下拉的菜单,其中comboBox1中绑定的数据都是winform页面,甚至可以控制各个窗体哦!很爽的哦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: