【问题标题】:How to disable a combobox on clicking on another combox list data in C sharp?如何在 C sharp 中单击另一个组合框列表数据时禁用组合框?
【发布时间】:2017-02-17 08:11:19
【问题描述】:

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

我从here 浏览源代码。但没有正确理解。

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

下面是我的部分代码 sn-p:

 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)
    {

    }
}

【问题讨论】:

    标签: c# visual-studio-2013


    【解决方案1】:

    试试这个:

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboBox1.SelectedIndex == 0)
           comboBox2.Enabled = false;
        if (comboBox1.selectedIndex == 1)
           comboBox2.Enabled = true;
    }
    

    【讨论】:

    • 好的,谢谢。完成。一旦我想处理可编辑的组合框,这样当我在组合框中键入一个字母时,它只会显示匹配的元素,否则它既不编辑也不显示任何东西。
    【解决方案2】:

    试试这个:

    //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;
                }
    

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

    【讨论】:

    • 一旦我想在可编辑的组合框上工作,这样当我在组合框中输入一个字母时,它只显示匹配的元素,否则它既不编辑也不显示任何东西。
    猜你喜欢
    • 2017-09-11
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2016-10-04
    • 1970-01-01
    • 2013-04-25
    相关资源
    最近更新 更多