2 不同组框中的单选按钮

Posted

技术标签:

【中文标题】2 不同组框中的单选按钮【英文标题】:2 Radio Buttons in different group boxes 【发布时间】:2021-11-13 05:28:24 【问题描述】:

我在不同的分组框中有 2 个单选按钮。

如果选中付款方式 (rButtonCredit) 和持续时间 (rButton24Months),则在 Total Discount 文本框中显示 $ 金额。

我尝试了很多东西,我只能在文本框中获得 5.00 美元的折扣显示,而不是 5.25 美元。

这是我目前拥有的。

        if (rButton24Months.Checked)
        
            textBoxDuration.Text = "-$5.00";
        
        if (rButton24Months.Checked)
        
            textBoxDiscount.Text = "$5.00";
        
        else if (rButton24Months.Checked || rButtonCredit.Checked)
        
            textBoxDiscount.Text = "$5.25";
        

【问题讨论】:

您的意思是您有多个 GroupBox 并且每个 GroupBox 有 2 个 RadioButtons(因此您必须在 TextBoxes 中分别显示每个 GroupBox 中用户选择的结果),还是您总共有 2 个 RadioButtons ,因此只有两个文本框?澄清您的设置(布局图像不会受到伤害)-顺便说一句,看起来您想要复选框,而不是单选按钮。 -- 前两个if 块评估相同的条件,最后一个似乎需要& 我确实有不止一个 Group Box。 'rButton24Months' 与其他 2 个 RadioButtons 位于一个组合框中。 'rButtonCredit' 与其他 1 个 RadioButton 位于另一个组框中。 同属一个的RadioButtons必须进入一个 GroupBox,不仅可以正常工作,还可以避免给用户带来惊喜 【参考方案1】:

你可以按照这种方式。

第 1 步:

首先你将两个都命名为RadioButtons

第 2 步:

您将两个CheckedChanged 事件绑定到同一个方法。 CheckedChanged+=checked;

第 3 步:

如果您发现它有用,请享受。做一个有用的

int str;
      public void checked(object sender, EventsArgs e)
      
          
          var btn = (RadioButton)sender;
          if(btn.name == "first")
          
              if(btn.checked ==true)
              
                  str+=5;
              
              else
              
                  str-+(-5);
              
          
          if(btn.name == "second")
          
              if(btn.checked ==true)
              
                  str+=2;
              
              else
              
                  str-+(-2);
              
          

【讨论】:

以上是关于2 不同组框中的单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

在 MVVM 之后从 WPF 中的组框中确定选中的单选按钮

如何在组合框中获取已选中的单选按钮?

android中的单选按钮不起作用

如何处理 ExpandableListView 中的单选按钮?

C# WPF:当单选按钮显示为图像时,数据网格中的单选按钮分组不起作用

更改 Qt 中的单选按钮文本颜色