ComboBox项目的隐藏ID?

soo*_*ise 7 c# combobox winforms

我知道如何将项目添加到ComboBox,但无论如何都要为每个项目分配唯一的ID?我希望能够知道如果选择了哪个ID与每个项目相关联.谢谢!

J J*_*J J 30

组合框中的项可以是任何对象类型,显示的值是ToString()值.

因此,您可以创建一个新类,该类具有用于显示目的的字符串值和隐藏ID.只需覆盖ToString函数即可返回显示字符串.

例如:

public class ComboBoxItem()
{
   string displayValue;
   string hiddenValue;

   //Constructor
   public ComboBoxItem (string d, string h)
   {
        displayValue = d;
        hiddenValue = h;
   }

   //Accessor
   public string HiddenValue
   {
        get
        {
             return hiddenValue;
        }
   }

   //Override ToString method
   public override string ToString()
   {
        return displayValue;
   }
}
Run Code Online (Sandbox Code Playgroud)

然后在你的代码中:

//Add item to ComboBox:
ComboBox.Items.Add(new ComboBoxItem("DisplayValue", "HiddenValue");

//Get hidden value of selected item:
string hValue = ((ComboBoxItem)ComboBox.SelectedItem).HiddenValue;
Run Code Online (Sandbox Code Playgroud)