我想写一个递归函数,参数是tabcontrol,函数功能是,遍历所有tabpage中的控件,如果tabpage本身又是一个tabcontrol的话,那就递归调用自己,如果tabpage不是tabcontrol的话,就遍历tabpage的所有控件,如果是txtbox控件的话,就给.text = "",如果是combobox的话,就.selectedindex = -1,如果是radio的话,就.check = fals,。大概就是这样的意思。这样的函数能写吗?
我觉得应该是个挺常见的函数,但是在网上没搜到。
大家帮忙看看。
我觉得应该是个挺常见的函数,但是在网上没搜到。
大家帮忙看看。
解决方案 »
- serialPort控件的问题
- c#怎么精确测量画出来得string的象素长度?
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。
- 判断数据库是否已连接
- 请教关于listbox的问题
- 在网上看到VS.NET 2005 Beta 2的中文标准版了,这个现在有下么?
- 如何将类似于“00123”这样的字符串导出到excel中?
- 还是方法的作用域的问题,重分相赠!
- asp.net(C#)项目经理 应该具备什么素质
- C# 中如何调用dos命令 ftp 取服务器文件??
- MES
- C#中怎么实现在combobox显示图标
foreach (TabPage page in tabControl1.TabPages)
{
foreach (Control control in page.Controls)
{
if (control is TextBox)
{
((TextBox)control) = "";
}
if (control is ComboBox)
{
((ComboBox)control).SelectedIndex = -1;
}
}
}
private void ShowControl()
{
ControlList = new List<string>();
this.AddControl(this.tabControl1);
for (int i = 0; i < ControlList.Count; i++)
{
MessageBox.Show(ControlList[i]);
}
}
private void AddControl(TabControl tab)
{
foreach (TabPage page in tab.TabPages)
{
foreach(Control c in page.Controls)
{
if (c is TabControl)
{
this.AddControl(c as TabControl);
}
else
{
this.ControlList.Add(c.Name.ToString());
}
}
}
}
private List<string> ControlList;
private void ShowControl()
{
ControlList = new List<string>();
this.AddControl(this.tabControl1);
for (int i = 0; i < ControlList.Count; i++)
{
MessageBox.Show(ControlList[i]);
}
}
private void AddControl(TabControl tab)
{
foreach (TabPage page in tab.TabPages)
{
foreach(Control c in page.Controls)
{
if (c is TabControl)
{
this.AddControl(c as TabControl);
}
else
{
this.ControlList.Add(c.Name.ToString());
}
}
}
}