我正在从应用程序编写窗口,因为我正在使用组合框控件。我已经在组合框中插入了数据。我对组合框的一些属性是
dropdownstyle =下拉列表
autocompletesource = Listitem
autocompletemode =建议追加。
现在我的问题是我想限制用户只输入组合框中的那些值。 例如,如果组合框中有3个项目 苹果,芒果和葡萄
然后我希望用户在组合框中填入值时输入其中一个。
谢谢你们的时间。
Vijay shiyani
答案 0 :(得分:4)
一种方法是通过检查组合框的SelectedIndex是否为-1以外的任何内容来验证其选择。如果是,那么他们已经从列表中键入或选择了一个项目。你也可以通过检查SelectedItem!= null。
来做类似的事情例如
if (comboBox.SelectedIndex != -1)
{
// Item from list selected
}
else
{
// Error: please selecte an item from the list
}
避免验证的另一种方法是将ComboBoxStyle设置为DropDownList,这仍然允许他们键入,但只允许他们键入或从列表中选择一个项目。
答案 1 :(得分:3)
将DropDownStyle更改为DropDownList而不是DropDown
combobox.DropDownStyle = ComboBoxStyle.DropDownList;
或在VS属性页面中更改它
答案 2 :(得分:0)
将此代码放在ComboBox的Validating事件中:
var cbo = (ComboBox)sender;
if (cbo.SelectedIndex == -1)
{
e.Cancel = true;
}
注意:将“取消”设置为“true”可防止用户离开正在验证的控件 请谨慎使用。