C# 简单反射实现winform左侧树形导航,右侧切换内容
程序员文章站
2022-03-26 08:40:56
先看看效果: 核心代码: 以上就是FrmMain主界面核心代码。以上代码没有进行优化,根据个人经验自己优化下。 demo ......
先看看效果:
核心代码:
using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using system.reflection; namespace winformdemo { public partial class frmmain : form { public frmmain() { initializecomponent(); } private void tvmenu_nodemousedoubleclick(object sender, treenodemouseclickeventargs e) { if (null != e.node.parent) { if (0 == e.node.nodes.count) { showform(e.node.text); } } } private void showform(string strformname) { form frm = getform(strformname); frm.bringtofront(); frm.show(); } private form getform(string strformname) { control.controlcollection ctrls = pnlcentral.controls; if (ctrls.containskey(strformname)) { return ctrls[strformname] as form; } else { assembly assembly = assembly.getexecutingassembly(); type type = assembly.gettypes().where(item => item.name.equals(strformname)).firstordefault(); form frm = assembly.createinstance(type.fullname) as form; frm.name = strformname; frm.toplevel = false; frm.dock = dockstyle.fill; frm.formborderstyle = system.windows.forms.formborderstyle.none; pnlcentral.controls.add(frm); return frm; } } } }
以上就是frmmain主界面核心代码。以上代码没有进行优化,根据个人经验自己优化下。