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

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);
        }
运行的时候我们看到界面是这样子的:在C#应用程序中,对comboBox这个控件的一些基本用法_第1张图片
(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页面,甚至可以控制各个窗体哦!很爽的哦!

你可能感兴趣的:(在C#应用程序中,对comboBox这个控件的一些基本用法)