如何将单选按钮的所有按钮设置为IsEnabled false

本文关键字:设置 按钮 IsEnabled false 单选按钮 | 更新日期: 2023-09-27 18:09:04

我是c#开发人员,我正试图通过编程将所有单选按钮设置为false。

如何将所有单选按钮设置为IsEnabled= false

编辑:请注意,我有一种情况,我必须保留这台收音机。IsEnabled = false;只有在循环之外,所以是否有任何方法,我仍然可以有所有的按钮IsEnable= false ?

如何将单选按钮的所有按钮设置为IsEnabled false

尝试下面的代码并在代码块中使用isEnable,如下所示

foreach (String item in param.Component.Attributes[0].Item)
{
    radio = new RadioButton()
    {
        Content = item,
        GroupName = "MyRadioButtonGroup",
       // Name = "param_"+param.Name
    };
    radio.Checked += (o, e) =>
    {
        txtblkShowStatus.Text = item;             
    };
    sp.Children.Add(radio);
    radio.IsEnabled = false;
    count++;                
}

您使用的是在函数外部声明的变量radio,将其声明为像这样的局部变量,并在每次创建它时设置IsEnabled:

foreach (String item in param.Component.Attributes[0].Item)
{
     RadioButton radio = new RadioButton()
    {
        Content = item,
        GroupName = "MyRadioButtonGroup",
       // Name = "param_"+param.Name
    };
    radio.Checked += (o, e) =>
    {
        txtblkShowStatus.Text = item;             
    };
    radio.IsEnabled = false;
    sp.Children.Add(radio);
    count++;     
}

那是因为你把radio.IsEnabled = false;放在了循环之外。

{
    radio = new RadioButton()
    {
        Content = item,
        GroupName = "MyRadioButtonGroup",
       // Name = "param_"+param.Name
    };
    radio.Checked += (o, e) =>
    {
        txtblkShowStatus.Text = item;             
    };
    sp.Children.Add(radio);
    radio.IsEnabled = false;
    count++;                
}

我认为将radio.IsEnabled = false;放入循环中会达到目的。

编辑:

我不确定我很理解为什么你想在第二步设置为false,但是你可以尝试:

foreach (Radiobutton r in sp.Childern)
{
 r.IsEnabled = false;  
}