三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

MDI应用中的单案例(singleton)窗口

时间:2022-10-7作者:未知来源:三度网教程人气:


下面的代码片断假设你的多文档应用程序中包含一个toolbar。当你点击toolBarButton1 按钮时,将会创建并显示一个 Patients 子窗口。下面的代码在单机事件时发生。

private void toolBar1_ButtonClick(object sender,
System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
// a flag to store if the child form is opened or not
bool found = false;

if (e.Button == toolBarButton1)
{
// get all of the MDI children in an array
Form[] charr = this.MdiChildren;

if (charr.Length == 0) // no child form is opened
{
Patients myPatients = new Patients();
myPatients.MdiParent = this;
// The StartPosition property is essential
// for the location property to work
myPatients.StartPosition = FormStartPosition.Manual;
myPatients.Location = new Point(0,0);
myPatients.Show();
}
else // child forms are opened
{

foreach (Form chform in charr)
{
if (chform.Name == "Patients")
// one instance of the form is already opened
{
chform.Activate();
found = true;
break; // exit loop
}
else
found = false; // make sure flag is set to
// false if the form is not found
}

if (found == false)
{
Patients myPatients = new Patients();
myPatients.MdiParent = this;
// The StartPosition property is essential
// for the location property to work
myPatients.StartPosition = FormStartPosition.Manual;
myPatients.Location = new Point(0,0);
myPatients.Show();
}
}
}
}
这样,就实现了一个单窗口实例的解决方案。

关键词:  MDI应用中的单案例(singleton)窗口





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版