C# 改变多个相同控件的同一个属性 ?????

我想用一个循环语句把30个textBox控件的ReadOnly属性由TRUE变为FALSE,请问这个循环怎么写??这几个答案只有需要写这30个控件名字的可以,其余的都不起... 我想用一个循环语句把30个textBox控件的ReadOnly属性由TRUE变为FALSE,请问这个循环怎么写??
这几个答案只有需要写这30个控件名字的可以,其余的都不起作用,这是为什么?
展开
 我来答
小人物1号
2010-01-20 · 超过13用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:32.4万
展开全部
//遍历当前窗体的所有控件
foreach (Control c in this.Controls)//this.Controls是得到当前窗体里的所有控件的集合,Control是一个控件对象(textbox也是控件继承了Control)
{
if (c is TextBox)//判断c是不是TextBox类型的
{
TextBox temp = c as TextBox;//如果是则转换为TextBox类型的 (as是转换用的关键字)
temp.ReadOnly = true;//这个不用解释了吧
}
}

这个循环是把你所有的TextBox控件都更改了,如果有不想改的
可以在textbox控件的Tag属性里加一些东西(标记 如:“no”)
if(textbox.Tag=="no")
{
//不改
}
康楣风0Fp
2010-01-20 · TA获得超过180个赞
知道答主
回答量:99
采纳率:0%
帮助的人:75.8万
展开全部
TextBox[] txt=new TextBox[]{30个TextBoxt名称};
for(int i=0;i<txt.Length;i++)
{
txt[i].ReadOnly=True;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jywater
2010-01-20 · 超过13用户采纳过TA的回答
知道答主
回答量:47
采纳率:100%
帮助的人:22.7万
展开全部
foreach(System.Windows.Forms.Control con in this.Controls)
{
if(con is TextBox)
{
if(con.Name != "某特殊字符,不用改变状态的")
{
System.Windows.Forms.TextBox tt = (System.Windows.Forms.TextBox) con;
tt.ReadOnly = false;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghchg8
2010-01-20
知道答主
回答量:36
采纳率:0%
帮助的人:13.8万
展开全部
用hashtable a; a.add(key,value)
key就是1、2、3...
value就是控件的名字textBox1、textBox2...

然后

for(int i=1;i<=30;i++)
{
TextBox newTex = (TextBox)a[i];
newTex.ReadOnly=false;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiming8787
2010-01-20
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
foreach (Control item in this.Controls)
{
if (item is TextBox)
{
item.ReadOnly= TRUE;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式