在C#中,要限制ComboBox控件只能输入ComboBox中已有的Item,可以使用以下方法:

  1. 设置ComboBox的DropDownStyle属性为DropDownList。这将禁用ComboBox的编辑功能,只允许选择已有的Item。
comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;
  1. 在ComboBox的Validating事件中编写验证逻辑。在该事件中,可以检查用户输入的值是否为ComboBox中已有的Item,如果不是,则清空ComboBox的Text属性,并显示错误提示。
private void comboBox2_Validating(object sender, CancelEventArgs e)
{
    ComboBox comboBox = (ComboBox)sender;
    string userInput = comboBox.Text;
    
    if (!comboBox.Items.Contains(userInput))
    {
        comboBox.Text = string.Empty;
        MessageBox.Show('只能选择ComboBox中已有的Item!', '错误', MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}
  1. 订阅ComboBox的Validating事件,在事件处理程序中添加上述验证逻辑。
comboBox2.Validating += comboBox2_Validating;

通过以上步骤,当用户在ComboBox中输入一个不在ComboBox中的值时,ComboBox的Text属性将被清空,并显示错误提示。这样就实现了只允许输入ComboBox中已有的Item的功能。

C# ComboBox 限制输入:仅允许选择已有项目

原文地址: https://www.cveoy.top/t/topic/p1jB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录