对于ComboBox控件的使用,大家都可能遇到了一个问题,就是它只有一个参数Items可以对选择项进行操作,而没有Value和DisplayText之类的属性,常常我们需要一个显示的文本和一个对应的值,其实实现起来十分简单.下面是一个例子:
public class FontSizeItem
{
private int _Value;
public int Value
{
get{
return _Value;
}
}
private string _Name;
public string Name
{
get{
return _Name;
}
}
//
public FontSizeItem(string name,int value)
{
_Name = name;
_Value = value;
}
public override string ToString()
{
return _Name;
}
}
private void InitFontSizeComboBox()
{
FontSizeItem item = new FontSizeItem("字号1", 1);
toolStripComboBox_fontsize.Items.Add(item);
item = new FontSizeItem("字号2", 2);
toolStripComboBox_fontsize.Items.Add(item);
toolStripComboBox_fontsize.SelectedItem=item;
item = new FontSizeItem("字号3", 3);
toolStripComboBox_fontsize.Items.Add(item);
item = new FontSizeItem("字号4", 4);
toolStripComboBox_fontsize.Items.Add(item);
item = new FontSizeItem("字号5",5);
toolStripComboBox_fontsize.Items.Add(item);
item = new FontSizeItem("字号6", 6);
toolStripComboBox_fontsize.Items.Add(item);
item = new FontSizeItem("字号7", 7);
toolStripComboBox_fontsize.Items.Add(item);
}
FontSizeItem是一个内部类,主要的作用是实现ComboBox的项的结构,Value是Name对应的值,要让Name 显示在ComboBox的选择项上,关键在于重载ToString()方法;InitFontSizeComboBox()演示了如何对ComboBox赋值