【问题标题】:C# Disable checkboxes when number requirement from radio button is met当满足单选按钮的数字要求时,C#禁用复选框
【发布时间】:2018-11-15 14:14:48
【问题描述】:

我在确定编程课上的作业时遇到问题。

我有 4 个单选按钮和 8 个复选框。 radioButton1 = 1,radioButton2 = 2,依此类推。

如果我选择 radioButton1,我只想选择 1 个复选框并禁用其余复选框。我该怎么做? pizza place 如果我在选择其他所有内容后更改我的单选按钮选项之一,我还希望取消选择所有内容。

如果我没有很好地解释自己,我很抱歉。希望能帮到你

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 你能发布你的代码吗?这样可以更轻松地为您提供帮助。
  • 我只有 Denis Jr :/.我有点受阻。我的单选按钮和复选框是空的

标签: c# visual-studio checkbox radio-button


【解决方案1】:

假设您的元素的名称 (id) 是 rb1、rb2...cb1、cb2...

您可以为每个单选按钮制作事件(单击元素 > 小照明 > 双击 checkChanged 以生成方法),以便您可以禁用所需的复选框。

例子:

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
    if(rb1.Checked == true){ //if someone just checked that radio button
            resetAllButtons(); //resetting all checkbox buttons as you wanted
            cb2.Enabled = false; //making checkbox2 unclickable
            cb3.Enabled = false; //making checkbox3 unclickable
            cb4.Enabled = false; //making checkbox3 unclickable
            /* and so on */
    }
}

重置所有内容的方法应如下所示:

void resetAllButtons(){
    rb1.Checked = false; //unchecking radio button 1
    rb2.Checked = false; //unchecking radio button 2
    /* and so on */
    cb1.Checked = false; //unchecking checkbox1
    cb1.Enabled = true; //making checkbox1 clickable again
    cb2.Checked = false; //unchecking checkbox2
    cb2.Enabled = true; //making checkbox2 clickable again
    /* and so on */
}

【讨论】:

  • 非常感谢 someRandomSerbianGuy,我也可以制作第一部分的方法吗?
  • @ReneVazquez 我不明白你的问题。你能重新表述一下吗? :) 您也可以将我的答案标记为正确,这样您的问题就会保持关闭/已回答。
  • 哦,对不起,我的意思是问是否有办法让你在第一个单选按钮中的代码在其他单选按钮上调用它,所以我没有很多代码跨度>
  • @ReneVazquez 是的,当然!相反,双击 checkChanged 你有一个小箭头(下拉菜单),其中列出了要使用的创建方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
相关资源
最近更新 更多