遍历获取窗体所有控件信息,包括上下级菜单信息
话不多说先上代码
来都来了,点个赞吧
/// <summary>
/// 遍历控件(获取所有控件)
/// </summary>
/// <param name="AllControl"></param>
/// <param name="FormsName">窗体名</param>
public void GetControlsInfo1(Control AllControl, string FormsName)
{
foreach (Control con in AllControl.Controls)
{
string CtrlName = "";
if (con.Controls.Count > 0)
{
GetControlsInfo(con, FormsName); //递归找所有
}#region 此段是自定义控件可以删除
if (con is WenButton || con is WenTextBox) //自定义控件
{
CtrlName = con.Name;
((WenTextBox)con).WatermarkText = "测试1";
}
else if (con is NavBar)//自定义导航
{
foreach (var nav in ((NavBar)con).Groups) //第一层菜单
{
CtrlName = nav.Name;
nav.Text = "测试2";foreach (var subnav in ((NavGroup)nav).Items)//第二层菜单
{
CtrlName = subnav.Name;
subnav.Text = "测试3";
}
}
}
#endregion 自定义控件else if (con is MenuStrip)
{
foreach (var menu in ((ToolStrip)con.Controls.Owner).Items) //第一层菜单
{
CtrlName = ((ToolStripItem)menu).Name;
((ToolStripItem)menu).Text = "测试4";foreach (var submenu in ((ToolStripMenuItem)menu).DropDownItems)//第二层菜单
{
CtrlName = ((ToolStripItem)submenu).Name;
((ToolStripItem)submenu).Text = "测试5";
}
}
}
else if (con is StatusStrip)
{
foreach (var sstrip in ((StatusStrip)con).Items)
{
CtrlName = ((ToolStripItem)sstrip).Name;
((ToolStripItem)sstrip).Text = "测试6";
}
}
else if (con is DataGridView)
{
foreach (var datagv in ((DataGridView)con).Columns)
{
CtrlName = ((DataGridViewColumn)datagv).Name;
((DataGridViewColumn)datagv).HeaderText = "测试7";
}
}
else //其他控件
{
CtrlName = con.Name;
con.Text = "测试8";
}
}
}