c# for循环写法

for(inti=1;i<=80;++i){for(intj=1;j<=2;++j){bt(i)_(j).Visible=false;}}用以上循环得到以下结果,应该怎样... for (int i = 1; i <= 80; ++i)
{
for (int j = 1; j <= 2; ++j)
{
bt(i)_(j).Visible = false;
}
}
用以上循环得到以下结果,应该怎样写呢?
bt1_1.Visible = false;
bt1_2.Visible = false;
bt2_1.Visible = false;
bt2_2.Visible = false;
展开
 我来答
创作者zUzVB1Sl31
推荐于2016-06-26 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

C#不能这么使用控件,我提供两个方法.

1. 把控件全部放在一个panel里面,然后遍历实现:

foreach(Control ctl in panel1.Controls)
{
   if(ctl is Button)
   {
       if(ctl.Name.SubString(0,2)=="bt")
       {
           ctl.Visible=false;
       }
   }
}

2. 通过id或者把他们设置成有规律的名称bt1、bt2、bt3、bt4:

for(int i=1;i<=4;i++)
{
   Button b=(Button)this.Controls["bt"+i.ToString()];
   b.Visible=false;
}
追问

我想得到的是bt1_1.Visible = false;

        bt1_2.Visible = false;

        bt2_1.Visible = false;

        bt2_2.Visible = false;这样的结果,感觉第二种才适合,但代码提示错误呢?

追答
  1. 你要知道bt为名的控件容器是什么,我只是举例,假如是panel1里面的panel3,那就写作:Button b=(Button)this.panel1.panel3.Controls["名称"];

  2. bt1_2,bt2_1我并不认为他有什么好得规律

  3. 你真得确定你用的是服务器控件,不是ASP控件?

内裤最大功能
2015-07-25 · TA获得超过3106个赞
知道大有可为答主
回答量:3202
采纳率:79%
帮助的人:493万
展开全部
你想干什么。
通常是写成 i++这种形式的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式