C# 如何在C.net中的Combox中添加值

C# 如何在C.net中的Combox中添加值,c#,winforms,C#,Winforms,我有一个combox,我想添加如下值。当用户单击combox时,他会看到名称Dan、Peter、David,但名称后面的值应该是名称的1,2,3 ID。我将如何在C windows combo中执行此操作。您希望使用combobox的ValueMember和DisplayMember属性 短样本: public class Foo { public int ID { get; private set; } public string Name { get; private set

我有一个combox,我想添加如下值。当用户单击combox时,他会看到名称Dan、Peter、David,但名称后面的值应该是名称的1,2,3 ID。我将如何在C windows combo中执行此操作。

您希望使用combobox的ValueMember和DisplayMember属性

短样本:

public class Foo
{
    public int ID { get; private set; }
    public string Name { get; private set; }

    public class Foo(int id, string name)
    {
        ID = id;
        Name = name;
    }
}
然后确保将ID设置为ValueMember,将Name设置为DisplayMember。添加一个Foo的集合,您就一切就绪。

您希望使用组合框的ValueMember和DisplayMember属性

短样本:

public class Foo
{
    public int ID { get; private set; }
    public string Name { get; private set; }

    public class Foo(int id, string name)
    {
        ID = id;
        Name = name;
    }
}

然后确保将ID设置为ValueMember,将Name设置为DisplayMember。添加一个Foo的集合,您就一切就绪。

您可以向ComboBox添加任何类,而不仅仅是字符串。ComboBox使用ToString方法显示项目。请参见考试:

using System.Windows.Forms;

namespace WindowsFormsApplication
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            comboBox.Items.Add(new User(1, "Dan"));
            comboBox.Items.Add(new User(2, "Peter"));
            comboBox.Items.Add(new User(3, "David"));

            comboBox.SelectedIndexChanged += new System.EventHandler(ComboBoxSelectedIndexChanged);
        }

        void ComboBoxSelectedIndexChanged(object sender, System.EventArgs e)
        {
            ComboBox combo = (ComboBox)sender;
            User user = (User)combo.SelectedItem;
            MessageBox.Show("User Id = " + user.Id.ToString() + ",  Name" + user.Name);   
        }
    }

    public class User
    {
        public long Id { get; private set; }
        public string Name { get; private set; }

        public User(long id, string name)
        {
            Id = id;
            Name = name;
        }

        public override string ToString()
        {
            return Name;
        }
    }
}

您可以向ComboBox添加任何类,而不仅仅是字符串。ComboBox使用ToString方法显示项目。请参见考试:

using System.Windows.Forms;

namespace WindowsFormsApplication
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            comboBox.Items.Add(new User(1, "Dan"));
            comboBox.Items.Add(new User(2, "Peter"));
            comboBox.Items.Add(new User(3, "David"));

            comboBox.SelectedIndexChanged += new System.EventHandler(ComboBoxSelectedIndexChanged);
        }

        void ComboBoxSelectedIndexChanged(object sender, System.EventArgs e)
        {
            ComboBox combo = (ComboBox)sender;
            User user = (User)combo.SelectedItem;
            MessageBox.Show("User Id = " + user.Id.ToString() + ",  Name" + user.Name);   
        }
    }

    public class User
    {
        public long Id { get; private set; }
        public string Name { get; private set; }

        public User(long id, string name)
        {
            Id = id;
            Name = name;
        }

        public override string ToString()
        {
            return Name;
        }
    }
}