关于winform窗口运用程序实现treeview和tabControl的动态显示
这个示例中菜单使用控件treeview,数据是动态加载的。右边的标签页用的tabControl,通过改变tabpag实现切换效果。
之前网上找了很多方法,由于我的form是动态加载的。一直没法获取,最后在窗口中先初始化。再把form对象放到对象集合再遍历集合,通过form的name属性和treeview的text属性进行对比动态展示标签页。
先做一个菜单列表:
ps:我用的是splitContainer控件做的布局
下面展示一些 内联代码片
。
在这里插入图片描述
//将form子窗口加载到对象集合
在这里插入图片描述
private UserInfo users;
private Fxglinter fxgl;
private ybfx ybfx;
private htgl htgl;
private ywcl ywcl;
private zhcx zhcx;
private int num;
List<Object> tblis;
public FXGL_Main(UserInfo user)
{
ybfx = new ybfx();
htgl = new htgl();
ywcl = new ywcl();
zhcx = new zhcx();
fxgl = new Fxglinter();
tblis = new List<Object>();
tblis.Add(ybfx);
tblis.Add(htgl);
tblis.Add(ywcl);
tblis.Add(zhcx);
tblis.Add(fxgl);
}
//窗口加载的时候动态加载菜单
private void FXGL_Main_Load(object sender, EventArgs e)
{
this.treeView1.BeginUpdate();
this.treeView1.Nodes.Clear();
//读取数据动态加载菜单,for循环递归子菜单
List<string> lists=fxgl.getMenu();
for (int i = 0; i < lists.Count(); i++)
{
TreeNode topNode = new TreeNode(lists[i], 0