我有一个winform控件(文本框,复选框,单选按钮等)的arraylist。
我正在尝试一次性启用/禁用它们。
代码如下:
Button button = new Button();
Label label = new Label();
Listview listview = new ListView();
ArrayList controlList = new ArrayList();
controlList.add(button);
controlList.add(label);
controlList.add(listview);
foreach(object o in controlList) {
o.enabled = false;
}
但是,当然,这不起作用,因为类对象中没有“启用”属性。
我该怎么做才能使这项工作?
答案 0 :(得分:2)
您应该使用 List< Control>
。这是所有 System.Windows.Controls
的基类。您可以迭代Control类型的所有属性:
Button button = new Button();
 Label label = new Label();& #xA; Listview listview = new ListView();

 var controlList = new List< Control>();
 controlList.Add(button);
 controlList.Add(label );
 controlList.Add(listview);

 foreach(控制列表中的var o){
 o.Enabled = false;
}



答案 1 :(得分:0)
变化:
o.enabled = false;
要
(o as Control.enabled = false;