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.任何想法?
答案 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
进行验证即可。这是经过测试的代码。
希望它有所帮助。