如何在单击文本框时清除单选按钮

时间:2016-05-15 22:25:41

标签: c# wpf

我只是想知道有没有办法让我这样做,以便在单击文本框时它将清除单选按钮。还要注意我已将收音机按钮分组。这里是代码显然这不是所有的代码,但它只有这部分我需要帮助谢谢。

这是程序的图像

if (newMaterialother.Length < 1)                      
throw new Exception("must be more than 1 character long ");                
  if (rbnProcelain.IsChecked == false)                    
 newMaterialother = "Procelain";                
 if (rbnChina.IsChecked == false)                    
 newMaterialother = "Chain";                
 if (rbnClay.IsChecked == false)                    
 newMaterialother = "Clay";     

1 个答案:

答案 0 :(得分:0)

如果我们假设组框是grpMaterialOptions并且文本框是txtOther,那么如果你不打算添加更多单选按钮,你可以将所有单选按钮上的'Checked'属性设置为'false'单击文本框时。

如果我们还假设表单被称为Form1,那么要么从Form的构造函数(或者只是在设计器中)中对txtOther添加一个Click事件:

        public Form1()
    {
        InitializeComponent();
        txtOther.Click += txtOther_Click;
    }

然后,取消选中点击事件中的每个单选按钮:

        private void txtOther_Click(object sender, EventArgs e)
    {
        radioButton1.Checked = false;
        radioButton2.Checked = false;
        radioButton3.Checked = false;
    }

或者,如果您计划在面板上添加更多单选按钮,或者您计划只使用大量单选按钮,则可以尝试更详细的内容;以下只需要实现一次,并且可以用于您想要添加的许多单选按钮:

        private void txtOther_Click(object sender, EventArgs e)
    {
        foreach (Control c in grpMaterialOptions.Controls)
        {
            if (c is RadioButton)
            {
                (c as RadioButton).Checked = false;
            }
        }
    }