How to Disable comboBox if other comboBox is selected (C#)

后端 未结 4 1558
臣服心动
臣服心动 2021-01-03 09:21

Is there anyway to disable a combobox if a different combobox has some sort of text or value in it. I have tried a couple things and can\'t seem to get it to work.

B

4条回答
  •  余生分开走
    2021-01-03 10:17

    Something similar to this, only set whatever property you want, or don't clear it, or whatever. (test combos were not data bound)

        public partial class Form1 : Form
    {
        bool fireEvents = true;
        public Form1()
        {
            InitializeComponent();
        }
    
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (fireEvents) doCheck(sender, e);
        }
    
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (fireEvents) doCheck(sender, e);
        }
    
        private void doCheck(object sender, EventArgs e)
        {
            fireEvents = false; // because we don't have a way to cancel event bubbling
            if (sender == comboBox1)
            {
                comboBox2.SelectedIndex = -1;
            }
            else if (sender == comboBox2)
            {
                comboBox1.SelectedIndex = -1;
            }
            fireEvents = true;
        }
    
    }
    

提交回复
热议问题