怎样才能只打开一个窗口实例?
我用菜单打开一个窗口,每点击菜单一次,就会打开一个实例,怎样才能只打开一个实例?谢谢。 问题点数:20、回复次数:6Top
1 楼saucer(思归)回复于 2002-04-21 22:45:58 得分 5
加一个Form变量,在菜单的事件处理器里检查该变量是否为null,是null就生成窗口,并把窗口对象赋给那变量,如果变量不为null,就不做什么Top
2 楼Corny()回复于 2002-04-22 01:30:10 得分 5
给Form 加上个Static类型属性(IsShowing),在Form显示时设置该变量的值,并且在Dispose时复位该值。这是我到目前为止发现的最有效的控制Form单实例的方法。Top
3 楼Yang_Wenli(Yang_Wenli)回复于 2002-04-22 08:07:36 得分 5
class Form
{
private static Form myForm = null;
private Form();
public static Form GetForm()
{
if(myForm == null)
myForm = new Form();
return myForm;
}
}
class Application
{
public static void Main()
{
Form myForm = Form.GetForm();
myForm.Show();
}Top
4 楼yumiaojing(ben.yu)回复于 2002-04-22 09:32:03 得分 5
在主窗体里定义一个全局boolean变量,初始化为false。然后在启动时
这样写
if (isdoing==false)
{
isdoing=true;
frmA fr=new frmA();
fr.mdiparent=this;
fr.show();
}
然后在frmA 的Closing 事件中写上 frmMain.isdoing=false;Top
5 楼r2009(铅笔刀)回复于 2002-04-22 17:38:42 得分 0
谢谢大家的解答,还没试,不过感觉这些方法都可以。谢谢了。Top
6 楼r2009(铅笔刀)回复于 2002-04-22 17:40:04 得分 0
okTop
相关问题
- 该怎样才能打开和关闭指定得数据库实例呢?
- 在mdi窗口中,如何控制子窗口只打开一个实例
- PB 中一个窗口能不能打开两个以上的实例
- 把一个窗口的实例变量传递给另一个打开的窗口(用前一个窗口的CB-OK)一直搞不定?
- 请问:我怎样才能在窗口打开时自动使其最大化!!
- 请问在SDI程序中怎样才能打开一个新窗口?
- window.open()中的参数如何设置才能全屏打开一个新窗口?
- 请问,我怎么才能记录电脑打开过的窗口?
- 初学ATL,在基于CWindowImpl 的窗口上,怎样才能加上按钮、输入框等?哪里有这方面的代码实例?
- 一个类允许有多个实例,但对于每个不同的实例,如果已经存在,就不能再创建.就好比QQ聊天发送信息的界面,与某好友的聊天窗口若已经打开,双击




