应用反射添加新控件的层叠显示
2011-07-01 15:48
260 查看
public SplitterPanel splitterPanel2; public XmlNode xmlNode; public string userId; public void SetLabel(Label la) { la.Click += new EventHandler(Label_Click); la.MouseHover += new EventHandler(Mouse_Hover); la.MouseLeave += new EventHandler(Mouse_Leave); } public void Label_Click(object sender, EventArgs e) //利用反射的方法实现不同按钮的事件响应 { try { Assembly a; a = Assembly.LoadFile(Application.StartupPath + "//" + xmlNode.Attributes["dll"].Value); Type t = a.GetType(xmlNode.Attributes["class"].Value, false, true); MethodInfo method = t.GetMethod(xmlNode.Attributes["method"].Value); ConstructorInfo coninfo = t.GetConstructor(new Type[] { typeof(SplitterPanel), typeof(XmlNode), typeof(string) }); object[] arg = new object[3] { splitterPanel2, xmlNode, userId }; object obj = coninfo.Invoke(arg); method.Invoke(obj, null); } catch (Exception ee) { MessageBox.Show(ee.ToString()); } }
public SplitterPanel splitterPanel2; public XmlNode xmlNode; public string userId; public BackForm(SplitterPanel splitterPanel2, XmlNode xmlNode, string userId) { this.splitterPanel2 = splitterPanel2; this.xmlNode = xmlNode; this.userId = userId; } public void Addform() { AddForm af = new AddForm(); af.TopLevel = false; af.Top = 0; af.Left = 0; af.Anchor = AnchorStyles.Top; af.Anchor = AnchorStyles.Left; af.Show(); splitterPanel2.Controls.Add(af); af.BringToFront(); //实现最上一层的显示 }
<panel title="panel1" text="panel1" type="panel" show="true" > <lable title="lable" text="公司信息添加" type="lable" dll="InfoAdd.dll" class="InfoAdd.BackForm" method="Addform"/>
所有的DLL调用都用XML来处理
相关文章推荐
- c# TableLayoutPanel控件应用 动态添加控件及事件
- wicket基础应用(3)——wicket控件的隐藏和显示
- duilib 修复CTreeViewUI控件动态添加子控件时,对是否显示判断不足的bug
- RichEdit控件与父窗口使用消息反射机制实现过滤输入字符(WIN32应用)
- 一个问题——在MDI窗体中添加控件后显示子窗体
- ListView 显示两列并添加监听(Button 控件除外)
- 动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)
- No.1 iOS---UI学习第一天(笔记)(以及为什么模拟器上不显示我们添加的控件的解决办法)
- 一个可以显示具体时间的日历控件应用
- MFC添加控件后引用名字显示未定义错误 是没添加#include "Resource.h"
- JQuery应用 - 移动至控件显示提示信息
- 仿QQ好友动态添加说说、图片菜单滑动移进移出效果--在指定控件下面显示popupwindow动画不移效果
- 在MAC应用里显示多个图片(IKImageBrowserView控件使用)(二)
- C#动态添加控件到窗体不显示
- 【原创加转载】设置->账户,设置->添加账户,中应用列表的显示
- 动态添加控件并显示滚动条
- 只将unity的UI控件添加到iOS视图层上,不显示unity原生的背景(一)
- 在VS2010里MFC对话框中使用OpenGL绘图,添加的控件不显示的一种解决方法
- 反射应用之一:根据控件名、属性名进行取值和赋值