时间:2021-05-02
在做MDI窗体的时候,childwindow有的是单件模式的有的是不需要单件模式的
而父窗体呢可能需要通过配置文件获取的窗体的类名来统一实例化一个子窗体来显示。
下面就是我的一个实现方法,希望和大家一块探讨
定义单态子窗体
public class frmTemp : XamSoft.Shared.frmChildBase
窗体中包含如下定义
private static frmTemp _Instance;/// <summary>/// SDI窗体对象的获取入口/// 如果不需要SDI窗体则不加入此方法/// </summary>/// <returns></returns>public static frmTemp GetInstance(){ if(_Instance == null) { _Instance = new frmTemp(); return _Instance; } else { return _Instance; }}
在父窗体中根据子窗体类名显示子窗体
//通过配置文件决定启动窗体XamSoft.Shared.frmChildBase myForm = new frmChildBase();System.Type myClassToShow = GetMyClass("XamSoft.frmTemp ");//XamSoft子窗体类所在命名空间foreach( System.Reflection.MethodInfo myMethod in myClassToShow.GetMethods()){ if(myMethod.Name == "GetInstance") { myForm = (XamSoft.Shared.frmChildBase)myMethod.Invoke(null,null); }}if(myForm == null){ myForm = (XamSoft.Shared.frmChildBase)myClassToShow.Assembly.CreateInstance(myClassToShow.FullName); }myForm.MdiParent = this;myForm.Show();public Type GetMyClass(string tClassName){ string fileName = "my.exe"; Assembly asm = Assembly.LoadFrom(fileName); string className = tClassName; Type thisType = asm.GetType(className); return thisType;}
本人主页:http://www.xamsoft.com论坛:http://www.xamsoft.com/bbsemail:xam_163@163.com如转载请保留全文。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP单态模式简单用法。分享给大家供大家参考,具体如下:单态类就是只能实例化一次的类?123456789101112131415161718192
单态设计模式也叫单例模式:1.单态设计模式含义:单态模式的主要作用是保证在面向对象编程设计中,一个类只能有一个实例对象存在。作为对象的创建模式,单例模式确保某一
不能打开代码窗口的操作是单击窗体或控件。 打开代码窗口的三种方法有选中工程窗口中的一个窗体或标准模块,并单击“查看代码按钮”;双击窗体窗口的控件或窗体本身;单
本文实例讲述了php简单实现单态设计模式的方法。分享给大家供大家参考,具体如下:单态设计模式通常包含以下三点:·一个私有的构造方法;(确保用户无法通过创建对象对
当两个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件。导致竞态条件发生的代码区称作临界区。在临界区中使用适当的同步就可以避免竞态条件。界区实现方