[英]Check if a ComboBox value is selected
我正在写一个包含一些按钮和一个组合框的表单。 默认情况下禁用“确定”按钮,我希望仅在选择实际值(不是组合框的名称)后启用它。
我知道如何访问所选值,以及如何检查是否已选择值 - 但这两个只能在表单关闭后使用(使用“x”或使用“ok”按钮 - 已禁用) 。
有任何想法吗?
谢谢。
也许是这样的:
private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox.SelectedIndex > -1)
{
buttonOK.Enabled = true;
}
}
默认情况下,组合框的选定索引为-1(组合框的名称,在选择另一个索引后无法重新选择),因此如果检查它不是-1,那么您就知道已经选择了一个值。
然而另一个替代方案,也就是我使用的方法是,如果我总是想要选择一个值,那就是使用DropDownStyle
属性并将其设置为DropDownList
。 这样,默认情况下会选择索引0,用户只能从列表中选择项目,而不能选择任何其他内容。
您可以使用组合框选择索引更改事件
将其添加到InitializeComboBox类
this.ComboBox1.SelectedIndexChanged +=
new System.EventHandler(ComboBox1_SelectedIndexChanged);
然后在选定的索引更改事件中,您可以检查是否已选中“计算箱”框
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cbx= (ComboBox) sender;
Button1.Enabled = !string.IsNullOrEmpty(cbx.SelectedItem.ToString());
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == -1)
button1.Enabled = false;
else
button1.Enabled = true;
//or
//button1.Enabled = comboBox1.SelectedIndex == -1;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.