在带有DotNet 4的C#中我有一个带有组合框的表单,在启动程序时会填充值。 现在,用户可以下拉并选择其中一个值。 但是:也可以在组合框字段中写入新内容。
问题:我能做些什么,不可能写出不属于列表的东西?
由于
答案 0 :(得分:3)
要使ComboBox的文本部分不可编辑,请将DropDownStyle属性设置为“DropDownList”。
答案 1 :(得分:1)
可以通过简单地将属性分配给组合框.DropDownStyle = ComboBoxStyle.DropDownList
来完成。但是,此属性不允许编辑文本。表示您必须通过鼠标或上/下箭头键选择项目。您无法通过选择此属性来过滤结果。如果您希望过滤结果但不允许接受无效值,那么您可以通过在cmb_Validating事件中编写一些代码来实现此目的
private void cmb_Validating(object sender, CancelEventArgs e)
{
if (cmb.SelectedValue == null && cmb.Text != string.Empty)
e.Cancel=true;
}