C# 如何在C sharp中单击另一个组合框列表数据时禁用组合框?

C# 如何在C sharp中单击另一个组合框列表数据时禁用组合框?,c#,visual-studio-2013,C#,Visual Studio 2013,我想在Visual Studio 2013上使用C sharp设计一个windows窗体 我从源代码中查找。但是没有得到正确的答案 为此,我有3个组合框。我想在单击combobox1NSSCM元素时禁用Combox2,并在单击NSSFO元素时启用 下面是我的代码片段: namespace NSE_First_Form { public partial class Form1 : Form { public Form1() { Ini

我想在Visual Studio 2013上使用C sharp设计一个windows窗体

我从源代码中查找。但是没有得到正确的答案

为此,我有3个组合框。我想在单击combobox1NSSCM元素时禁用Combox2,并在单击NSSFO元素时启用

下面是我的代码片段:

 namespace NSE_First_Form
    {
  public partial class Form1 : Form
    {
      public Form1()
       {
        InitializeComponent();
       }

     private void Form1_Load(object sender, EventArgs e)
       {

          MaximizeBox = false;
          MinimizeBox = false;
           if (true)
              {
               comboBox1.Items.Add(Exchange.NSSCM.ToString());
               comboBox1.Items.Add(Exchange.NSSFO.ToString());
               comboBox1.Items.Add(Exchange.BSSCM.ToString());
              }
       }

    private void button1_Click(object sender, EventArgs e)
      {
          string selectedItem = string.Empty;
          ProcessValue(selectedItem);
      }

    public enum Exchange
      {
          NSSCM = 1,
          NSSFO = 2,
          BSSCM = 3

      }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}
试试这个:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (comboBox1.SelectedIndex == 0)
       comboBox2.Enabled = false;
    if (comboBox1.selectedIndex == 1)
       comboBox2.Enabled = true;
}
//This will disable combobox2 on the click of it
    private void comboBox1_Click(object sender, EventArgs e)
            {
                comboBox2.Enabled = false;
            }

//This will enable combobox2  on the click of it
    private void comboBox1_Click(object sender, EventArgs e)
            {
                comboBox2.Enabled = true;
            }
试试这个:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (comboBox1.SelectedIndex == 0)
       comboBox2.Enabled = false;
    if (comboBox1.selectedIndex == 1)
       comboBox2.Enabled = true;
}
//This will disable combobox2 on the click of it
    private void comboBox1_Click(object sender, EventArgs e)
            {
                comboBox2.Enabled = false;
            }

//This will enable combobox2  on the click of it
    private void comboBox1_Click(object sender, EventArgs e)
            {
                comboBox2.Enabled = true;
            }

因为您希望在单击时使用它,所以请使用单击事件,而不是SelectedIndexChange事件。

是的,谢谢。完成了。一旦我想在可编辑的组合框上工作,当我在组合框中键入字母时,它只显示匹配的元素,否则它既不编辑也不显示任何内容。一旦我想在可编辑的组合框上工作,当我在组合框中键入字母时,它只显示匹配的元素,否则它既不编辑也不显示任何内容。