你是在一个panel中,重点就在于遍历这个panel控件中的子空间,也就是你的label。
string s1; //用来演示获得label的文本
foreach(Control item in tablelayoutpanelControls) //遍历容器tablelayoutpanel所有的控件
{
if(item is Label)
{
Label lb = item as Label; //类型转换Control——Label
s1 = lbText;
}
}
按照这个思路做吧。public void LoadAllControl(ControlControlCollection ctls)
{
foreach (Control con in ctls)
{
ConsolWriteLine(conName);
if(conControlsCount>0) LoadAllControl(conControls);
}
}
//调用
LoadAllControl(thiscontrols);这个不清楚了,现在不弄C#了,没有VS编辑器,我的C#就是半调子。推荐你预到类似的问题可以去MSDN上查一下,MSDN可比我现在用的javascript上的文档全太多了……上面会全部列出所有的属性和使用方法,最主要的它还是中文的……
要了解他的父容器,或者了解他得某一个特性。
简单举例我在窗体中找一个Panel控件,我只知道他的背景颜色是ColorRed,现在要把他的颜色改成黑色,也不知道他到底放在几个panel里面,就要用到下面语句:
void ViewCtl(Control ctl){
if(ctl is Panel)
{
if(ctlBackColor==ColorRed)
{
ctlBackColor=ColorBlack;
}
}
}
void ViewForm(Control ctl)
{
if(ctlControlsCount>0)//如果他里面有控件
{
foreach(Control ctl in ctlControls)//遍历窗体所有控件
{
ViewCtl(ctl); //进行 *** 作
}
ViewForm(ctl); //循环事件
}
else
{
break; //当循环到实在没有控件可找的时候停止
}
}
如上,ViewForm就是在找到背景为红色的panel,把他染成黑色。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)