社区
C#
帖子详情
查找窗体控件的问题,帮我看看
Brssye
2006-10-30 11:48:01
Label labelStar = new Label();
labelStar.Name = "labStart" + column.ColumnName;
if (this.panelCenter.Controls.Contains((Label)("labStart" + dc.ColumnName)))
{
///
}
最后一行代码是不是有问题,最后一行代码执行不了,找不到。
...全文
185
17
打赏
收藏
查找窗体控件的问题,帮我看看
Label labelStar = new Label(); labelStar.Name = "labStart" + column.ColumnName; if (this.panelCenter.Controls.Contains((Label)("labStart" + dc.ColumnName))) { /// } 最后一行代码是不是有问题,最后一行代码执行不了,找不到。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
17 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
liujia_0421
2006-10-30
打赏
举报
回复
我测试过,可以实现...
liujia_0421
2006-10-30
打赏
举报
回复
一个字符串当然不能与一个控件类型相互转化啊,通过判断Control.Name来实现:
foreach (Control control in panelCenter.Controls )
{
if (control.Name == "labStart" + column.ColumnName)
{
//你的操作
}
}
honght
2006-10-30
打赏
举报
回复
刚才说错了
(Label)("labStart" + column.ColumnName)
这个转换是不行的,不能把string和label转换的
liujia_0421
2006-10-30
打赏
举报
回复
foreach (Control control in panelCenter.Controls )
{
if (control.Name == "labStart" + column.ColumnName)
{
//你的操作
}
}
这样试下...
北京的雾霾天
2006-10-30
打赏
举报
回复
private bool ContainsControl(string name, Control parent)
{
foreach (Control ctr in parent.Controls)
{
if (ctr.Name == name)
{
return true;
}
}
return false;
}
Brssye
2006-10-30
打赏
举报
回复
那应该怎么写呢,怎么找到我要的lable是否存在
liujia_0421
2006-10-30
打赏
举报
回复
直接将字符串转成Lable??
Brssye
2006-10-30
打赏
举报
回复
提示无法将类型"string "转换为 Lable
Brssye
2006-10-30
打赏
举报
回复
是执行不了,不是找不到
liujia_0421
2006-10-30
打赏
举报
回复
"dc"是什么??
将dc改成column行吗?
Brssye
2006-10-30
打赏
举报
回复
this.panelCenter.Controls.Add(labelStar);
添加到了控件上,这几行代码中没有写出来。
bitpolar
2006-10-30
打赏
举报
回复
执行不了那是转换错误 找不到那就是没添加到panelCanter上
bitpolar
2006-10-30
打赏
举报
回复
字符串强制转换成label了把
honght
2006-10-30
打赏
举报
回复
labelStar是你自己定义的,并没有添加到panelCenter上,当然出问题了
Brssye
2006-10-30
打赏
举报
回复
Label labelStar = new Label();
labelStar.Name = "labStart" + column.ColumnName;
if (this.panelCenter.Controls.Contains((Label)("labStart" + column.ColumnName)))
{
///
}
第三行代码是不是有问题,第三行代码执行不了,找不到。
Brssye
2006-10-30
打赏
举报
回复
因为控件都是我根据字段的名称自动生动的,我现在要来判断这个控件的text是否为空。不知道怎么写啊,以下写不行。
ComboBox combox = new ComboBox();
combox.Name = "cbx" + column.ColumnName;
combox.Text = getDataRow[column].ToString();
this.panelCenter.Controls.Add(combox);
...
if ((ComboBox)("cbx" + column.ColumnName).Text == "")
{
InputOK = false;
}
else
{
InputOK = true;
}
Brssye
2006-10-30
打赏
举报
回复
多谢,我试试。
相关推荐
使用WeifenLuo.WinFormsUI.Docking
控件
应用 实现
窗体
浮动 树形展示,索引目录
查找
功能
使用WeifenLuo.WinFormsUI.Docking
控件
应用 实现
窗体
浮动 树形展示,索引目录
查找
功能
Winform中使用
控件
名来
查找
窗体
或者容器中的
控件
在项目中经常遇到要动态生成
控件
,动态显示指定的
控件
或者隐藏,这就要涉及到
查找
控件
的
问题
。 下面介绍下Winform中使用
控件
名来
查找
窗体
或者容器中的
控件
的方法,代码如下: /// /// 通过
控件
名获取
控件
/// /// ///
C#
控件
管理
Winform中使用
控件
名来
查找
窗体
或者容器中的
控件
在项目中经常遇到要动态生成
控件
,动态显示指定的
控件
或者隐藏,这就要涉及到
查找
控件
的
问题
。 下面介绍下Winform中使用
控件
名来
查找
窗体
或者容器中的
控件
的方法,代码如下: /// /// 通过
控件
名获取
控件
///
查找
窗体
界面中的
控件
,递归
查找
等
控件
处理
问题
,多使用于权限设置管理。
由于权限管理比较复杂一点。常用
控件
名称来设置来解决不同用户的权限
问题
。 读出本
窗体
里面的子
控件
的名称,不包括子
控件
的子
控件
。如要包括子
控件
,则应该采用递归recursive处理, For Each ctl As Control In Me.Controls Console.WriteLine(ctl.Name) Next ctl 设置本
窗体
里面的所有标签
控件
且
控件
名称开头三个字母是lbl
C# 子
窗体
向父
窗体
控件
传值
在写程序的时候用到了由子
窗体
确定参数后返回给父
窗体
。这就涉及到
窗体
间传值的
问题
。C#是不提供
窗体
间变量和
控件
的直接相互调用(就是说即使Form1的变量和
控件
属性都设为Public或者Internal,在Form2种也不能通过 Form1.变量 或者 Form1.
控件
的形式调用)。在C#中
窗体
都是类的对象形式出现,在New之后出现的
窗体
已经和初始的
窗体
是完全不同的实例。 通过
查找
资料,有两种方便
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.8w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2006-10-30 11:48
社区公告
让您成为最强悍的C#开发者