您的位置:首页 > 编程语言 > C#

C#单例模式的使用

2016-05-08 21:46 489 查看
单例模式是在这几个模式中相对比较简单的 模式吧,但是还是有些问题是需要注意的

1.打开正在上机的窗体会发现,正在上机的菜单栏出现在了父窗体上

     设置一下菜单栏的属性:AllowMerge 的属性为false即可

2.当我们在父窗体上加载图片的时候会发现子窗体藏在图片的后面,在父窗体上画上lable框的时候,lable也是飘在父

窗体上面的。这要怎么解决呢? 我们需要在父窗体上加一个panel控件,然后在panel控件中画图片或是lable框。

让窗体最前显示:

      

<span style="font-size:18px;"> [DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);
</span>


在主窗体中的子窗体的触发事件中写

     

<span style="font-size:18px;">   子窗体 ad = new frmInquireLine();
SetParent((int)ad.Handle, (int)this.Handle);
ad.MdiParent = this;
子窗体.GetInstance().Show();</span>


在子窗体中写单例模式(参考的设计模式课本)

     

<span style="font-size:18px;"> public static frmInquiryMoney frm = null;
public frmInquiryMoney()
{
InitializeComponent();
}

public static frmInquiryMoney GetInstance()
{
if (frm == null || frm.IsDisposed)
{
frm = new frmInquiryMoney();
frm.MdiParent = frmMain.ActiveForm;
}
return frm;
}
</span>


   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: