社区
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)))
{
///
}
最后一行代码是不是有问题,最后一行代码执行不了,找不到。
...全文
223
17
打赏
收藏
查找窗体控件的问题,帮我看看
Label labelStar = new Label(); labelStar.Name = "labStart" + column.ColumnName; if (this.panelCenter.Controls.Contains((Label)("labStart" + dc.ColumnName))) { /// } 最后一行代码是不是有问题,最后一行代码执行不了,找不到。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
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
打赏
举报
回复
多谢,我试试。
WinForm
窗体
控件
Control 遍历与操作:掌握
控件
查找
与动态交互的核心技巧
本教程深入探讨WinForm
窗体
控件
遍历方法,包括循环、递归及使用Controls.Find方法,介绍了根据名称或类型
查找
特定
控件
,还说明了对找到
控件
修改属性、触发事件等操作。通过实际案例展示应用,同时给出性能优化建议和避免常见错误的方法,提升开发效率和程序质量。
MDI
窗体
与子
窗体
的显示
问题
--(如何让主
窗体
是被
控件
挡住的子
窗体
显示)
机房收费系统中,MDI
窗体
添加picture
控件
后子
窗体
无法显示。博主分享两种解决办法,一是隐藏picture
控件
,但有弊端;二是利用API函数SetParent,在相应模块声明函数,在点击菜单事件中应用,还需调整子
窗体
大小,此方法有效解决
问题
。
C# 遍历
控件
,遍历某EXE中的所有
窗体
以及
窗体
上的
控件
本文介绍了如何在C#中遍历一个WinForm应用程序的所有
窗体
及其上的
控件
,包括程序动态创建的
控件
。这个方法适用于需要在二开设计平台中
查找
和操作特定
控件
的场景。
在
窗体
上
查找
控件
(C#)
论坛中有人询问在指定
窗体
上
查找
控件
的方法,很多人回答用foreach循环,实际上当
控件
放在GroupBox或panel上时,仅用foreach不够,还需递归。文中给出了使用递归
查找
控件
的代码示例。
Winform中使用
控件
名来
查找
窗体
或者容器中的
控件
项目中动态生成、显示或隐藏
控件
常涉及
查找
控件
问题
。本文介绍了Winform里使用
控件
名
查找
窗体
或容器中
控件
的方法,给出了相应代码,还提供了
查找
控件
的Demo代码。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章