C# 组合框的SelectedIndex始终为-1
我有一个创建组合框的方法,在SelectedIndexChanged上我需要文本 所以我可以使用另一种方法,但是SelectedIndex总是-1,无论选择什么。我是C#的新手,所以我真的不明白问题出在哪里C# 组合框的SelectedIndex始终为-1,c#,C#,我有一个创建组合框的方法,在SelectedIndexChanged上我需要文本 所以我可以使用另一种方法,但是SelectedIndex总是-1,无论选择什么。我是C#的新手,所以我真的不明白问题出在哪里 ComboBox cb = new ComboBox(); 这是创建组合框的方法: public ComboBox GetSize(string uri) { xmlReader = GetXmlReader(uri + "/People"); ComboBox cb = ne
ComboBox cb = new ComboBox();
这是创建组合框的方法:
public ComboBox GetSize(string uri) {
xmlReader = GetXmlReader(uri + "/People");
ComboBox cb = new ComboBox();
while (xmlReader.ReadToFollowing("site")) {
cb.Items.Add(xmlReader.GetAttribute(0));
}
return cb;
}
ComboBox cb = new ComboBox();
这是将其添加到选项卡控件的位置:
cb = esrl.GetSize(uri);
cb.SelectedIndexChanged += new System.EventHandler(cb_SelectedIndexChanged);
page.Controls.Add(cb);
ComboBox cb = new ComboBox();
这就是我试图获取SelectedItem文本信息的地方,但是索引总是-1
private void cb_SelectedIndexChanged(object sender, EventArgs e) {
string attribute = cb.Items[cb.SelectedIndex].ToString();
MessageBox.Show( " " + attribute);
}
ComboBox cb = new ComboBox();
这是因为“cb”不能被识别为这个特殊的组合框。申报
ComboBox cb = new ComboBox();
作为全班的一个字段。尝试:
ComboBox cb = new ComboBox();
private void cb_SelectedIndexChanged(object sender, EventArgs e) {
ComboBox c = sender as ComboBox;
if(c == null) return;
string attribute = c.Items[c.SelectedIndex].ToString();
MessageBox.Show( " " + attribute);
}
这将确保您访问的组合框与触发事件的组合框相同。如果这对您有所帮助,请将其标记为答案。谢谢
ComboBox cb = new ComboBox();