怎么批量修改变量intI(I从1到n)?

lionkai 2006-07-01 02:47:22
想实现如下的功能,少写点代码.
for (int i = 1; i < 32; i++)
{
this."int"+i.AllowEdit = false;
}
谢谢.
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
syeerzy 2006-07-01
  • 打赏
  • 举报
回复
一个控件的几个列那就方便了啊,几个列一般总有个ColunmsCollection ,对这个遍历就行了.
syeerzy 2006-07-01
  • 打赏
  • 举报
回复
假设你的控件是个AAA控件

AAA [] allAAA = new AAA [32]{int1,int2...........int32}; //这里如果是动态创建就直接在里面new,如果不是,就按顺序写入.


for (int i = 1; i < 32; i++)
{
allAAA[i].AllowEdit = false;
}







楼上的写法有3个问题.1是初始化了数组并不会自动初始化数组元素,所以会抛出"未将对象的引用设置到对象的实例". 2是任何时候foreach只使用于只读场合,不应用于修改集合元素,否则会造成不可预测的结果(虽然其实这里并不会,但是养成不把foreach用于修改集合元素是个基本好习惯,详细原因请参阅MSDN中关于C#语言foreach关键字的说明) 3是Control类没有一个AllowEdit 属性,要转换类型后才可以 ^_^


呵呵,说笑的.....楼上的是方法对的,我是鸡蛋里挑了骨头出来^_^
lionkai 2006-07-01
  • 打赏
  • 举报
回复
这是一个控件的几个列,我看看能否作成这样
wuyi8808 2006-07-01
  • 打赏
  • 举报
回复
Control [] intl = new Control [32];
foreach (Control ctl in intl)
{
ctl.AllowEdit = false;
}

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧