简体   繁体   中英

Disabling a checkbox when another checkbox is clicked

I am trying to disable the thin and crispy checkbox when traditional checkbox is clicked. I have these in a group due to me enabling the whole group when the numericUpDown value is set to 1. When I click traditional checkbox, it doesn't disable the thin and crispy checkbox. I am using windows form application

Code

        private void NudQuantity1_ValueChanged(object sender, EventArgs e)
        {

            if (NudQuantity1.Value == 0)
            {
                gbCheesePizza.Enabled = false;
            }
            else
            {
                gbCheesePizza.Enabled = true;
            }

            if (CBXTraditional1.Checked == true)
            {
                CBXthinandcrispy1.Enabled = false;
            }

        }

When I run this code outside of a groupbox, it works perfectly.

I don't think this block should be inside the event handler

if (CBXTraditional1.Checked == true)
{
    CBXthinandcrispy1.Enabled = false;
}

It means that, provided you've got no other event handling for the checkboxes, this code will only be executed when you change the value of NudQuantity1 so it won't execute anything when you click the checkboxes afterwards.

Try use radio buttons as Steve mentioned. They do this for you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM