C#中,通过循环对多个lable控件操作

EvilsBlood 2017-12-04 05:19:44
C#窗体中,我有一个字符串数组string [] s,用来存储lable控件的名字,
我想通过对数组s循环, this.s[i].BackColor = System.Drawing.Color.Red;语句改变lable控件的属性,
提示错误,Form未包含s[i]定义,
请问有没有不改变lable控件名字的方法,实现对多个控件的操作呢
...全文
755 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
taile5770 2017-12-07
  • 打赏
  • 举报
回复
搞个label数组,操作也简单。

Label [] lb= new Label [3]{label1,label2,label3};
for (int i=0; i<3;i++)
{
lb[i].name="label"+i.ToString();
}
绿领巾童鞋 2017-12-06
  • 打赏
  • 举报
回复
遍历窗体中 所有控件 满足你的需要
小14 2017-12-05
  • 打赏
  • 举报
回复
var lblCtrl=((Label)this.Controls.Find(s[i], true)[0]); lblCtrl.BackColor = System.Drawing.Color.Red;
xuzuning 2017-12-05
  • 打赏
  • 举报
回复
Controls["名字"]
threenewbee 2017-12-04
  • 打赏
  • 举报
回复
for (int i = 1; i < 10l i++) { Label l = (Label)this.Controls["label" + i.ToString()]; ... } 如果label叫label1 label2...的话
大然然 2017-12-04
  • 打赏
  • 举报
回复
string[] s ===> control[] s
exception92 2017-12-04
  • 打赏
  • 举报
回复
类似:

xxx.Controls.OfType<Label>().ToList().ForEach(l =>
            {
                if (s.Any(m => m.Trim() == l.Name.Trim()))
                {
                    l.BackColor = System.Drawing.Color.Red;
                }
            });
xxx 为包含label的父容器。

110,499

社区成员

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

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

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