Combobox显示价值成员

时间:2017-02-22 11:11:45

标签: c# winforms visual-studio datepicker

private class Item
{
    public string Name;
    public string Value;
    public Item(string name, string value)
    {
        Name = name; Value = value;
    }

    cmb_1.Items.Add(new Item("mykonos", "1"));
    cmb_1.Items.Add(new Item("Paros", "2"));
    cmb_1.Items.Add(new Item("Nobugz", "666"));

我有这个代码。当我从ComboBox选择“mykonos”时,我想显示对话框号1.任何想法?

2 个答案:

答案 0 :(得分:1)

cmb_1.SelectedItem是Item对象。

        Item selectedItem = cmb_1.SelectedItem as Item;
        if (selectedItem != null)
            MessageBox.Show(string.Format("selected Item value:{0}, name:{1}", selectedItem.Value, selecteItem.Name));
        else
            MessageBox.Show("no selected item");

答案 1 :(得分:0)

创建类并覆盖ToString()方法以返回所需的值。

    class Item
    {
        public string Text { get; set; }
        public object Value { get; set; }
        public override string ToString()
        {
            return Text;
        }
    }

将项目添加到ComboBox

        cmb_1.Items.Add(new Item() { Text= "mykonos", Value="1" });
        cmb_1.Items.Add(new Item() { Text = "Paros", Value = "2" });
        cmb_1.Items.Add(new Item() { Text = "Nobugz", Value = "666" });
        cmb_1.SelectedIndex = 0;

SelectedIndexChanged事件处理程序中,执行以下操作:

    private void cmb_1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if(cmb_1.SelectedItem!=null)
            MessageBox.Show((cmb_1.SelectedItem as Item).Value.ToString());
    }

ShowDialog无法正常工作,它可以与Forms一起使用。您只需使用MessageBox.Show进行验证即可。这是经过测试的代码。

希望它有所帮助。