遍历window窗体中控件的方法.
来源:互联网 发布:无锡黑盒软件测试招聘 编辑:程序博客网 时间:2024/06/05 02:32
在做项目中,想控制窗体中的某一类控件,并且可能窗体包含有容器,比如想让窗体上所有的
button不可见。
解决方案一:只能解决简单问题,便历不能子控件。
foreach (object obj in this.Controls)
{
if (obj.GetType() == typeof(Button))
{
((Button)obj).Visible = false;
}
}
解决方案二:
通用的函数(2个):
函数很简单,
//Control ctl_Obj具体对像string str_Type要控制的类型名称)
(1) public void Set_Controls(Control ctl_Obj, string str_Type )
{
//当控件没有子控件时
if (!ctl_Obj.HasChildren)
{
if (ctl_Obj.GetType().ToString() == str_Type)
{
ctl_Obj.Enabled = false;
}
}
else //当控件有子控件时
{
int int_Number = 0;
while (int_Number < ctl_Obj.Controls.Count)
{
Set_Controls(ctl_Obj.Controls[int_Number], str_Type);
int_Number++;
}
}
}
(2) public void Set_Controls(Control ctl_Obj)
{
//当控件没有子控件时
if (!ctl_Obj.HasChildren)
{
switch (ctl_Obj.GetType().ToString())
{
case "System.Windows.Forms.Label":
break;
case "System.Windows.Forms.Button":
ctl_Obj.Enabled = false;
break;
case "System.Windows.Forms.TextBox":
break;
case "System.Windows.Forms.ListView":
break;
case "System.Windows.Forms.GroupBox":
break;
case "System.Windows.Forms.ComboBox":
break;
case "System.Windows.Forms.ImageList":
break;
case "System.Windows.Forms.DataGrid":
break;
case "System.Windows.Forms.MainMenu":
break;
case "System.Windows.Forms.TreeView":
break;
}
}
else //当控件有子控件时
{
int int_Number = 0;
while (int_Number < ctl_Obj.Controls.Count)
{
Set_Controls(ctl_Obj.Controls[int_Number]);
int_Number++;
}
}
}
调用:
Form2 obj1 = new Form2();
Set_Controls(obj1,"System.Windows.Forms.Button");
obj1.ShowDialog();
以上代码在VS2005中通过验证
- 遍历window窗体中控件的方法.
- wpf遍历窗体中所有控件方法
- 遍历窗体中所有的控件
- 在窗体中新建控件的方法
- QT遍历窗体的控件
- QT遍历窗体的控件
- [VB.NET]如何遍历web窗体中所有的控件
- C# 遍历窗体上控件方法
- 窗体控件的方法
- 遍历Window内所有子控件方法
- VS2008 WinForm中通过反射遍历程序中的窗体及窗体上的控件
- window.opener用法(在子窗体中获得父窗体的方法)
- 【C#】MDI窗体中,将子窗体置于父窗体控件之上的方法
- Window窗体控件概述
- VC遍历窗体控件的实现
- 遍历窗体内的控件 .net实现
- VC遍历窗体控件的实现
- 如何遍历一个窗体上的控件
- 高质量C++/C编程指南(二)
- 随笔
- 在Linux高负载下mysql数据库彻底优化
- 高质量C++/C编程指南(三)
- 谈谈信仰
- 遍历window窗体中控件的方法.
- 高质量C++/C编程指南(四)
- C#类和结构区别的总结(一)
- 高质量C++/C编程指南(五)
- 高质量C++/C编程指南(六)
- 高质量C++/C编程指南(七)
- Script.NET的google论坛地址与截图
- 生成与中文字符串相对映的拼音首字母串的函数(js)
- 2. 抽象工厂模式(Abstract Factory) ---------- 创建型模式