我只是想知道有没有办法让我这样做,以便在单击文本框时它将清除单选按钮。还要注意我已将收音机按钮分组。这里是代码显然这不是所有的代码,但它只有这部分我需要帮助谢谢。
这是程序的图像
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";
答案 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;
}
}
}