0

我是 c# 开发人员,我正在尝试以编程方式将所有单选按钮设置为 false。

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

编辑:请注意,我有一种情况,我必须保留这个收音机。IsEnabled = false; 仅在循环之外,有什么方法可以让我仍然拥有所有按钮 IsEnable= false ?

4

4 回答 4

1

您正在使用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++;     
}
于 2014-06-18T13:29:37.567 回答
1

我认为把radio.IsEnabled = false;你的循环放在里面就可以了..

编辑 :

我不确定我是否完全理解您为什么要在第二步中设置为 false 但是您可以尝试:

foreach (Radiobutton r in sp.Childern)
{
 r.IsEnabled = false;  
}
于 2014-06-18T13:27:11.270 回答
1

尝试下面的代码并在代码块中使用 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++;                
}
于 2014-06-18T13:28:14.290 回答
1

那是因为你把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++;                
}
于 2014-06-18T13:26:56.923 回答