C# 关于 ComboBox的使用

来源:互联网 发布:学生理财 知乎 编辑:程序博客网 时间:2024/05/17 03:20

对于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赋值

原创粉丝点击