请问如何判断窗口是否已经显示。

九天 2004-04-12 11:20:46
点主菜单弹出窗体,如果窗体已经显示了就不想让它再出现一个。怎么办?
...全文
508 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
九天 2004-04-14
  • 打赏
  • 举报
回复
呵呵知道了:)
九天 2004-04-14
  • 打赏
  • 举报
回复
mdi子窗体 dahuzizyd这样是没问题了。
如果是不是mdi子窗体时候怎么办?
dahuzizyd 2004-04-13
  • 打赏
  • 举报
回复
// MyChildForm is the one I'm looking for

MyChildForm childForm = null;

foreach(Form f in this.MdiChildren)

{

if(f is MyChildForm)

{

// found it

childForm = (MyChildForm) f;

break;

}

}



if( childForm != null)

{

childForm.Show();

childForm.Focus();

}

else

{

childForm = new MyChildForm();

childForm.MdiParent = this;

childForm.Show();

childForm.Focus();

}

HNU 2004-04-13
  • 打赏
  • 举报
回复

Form2 about = null;//保证about只有一个实例

private void menuItem4_Click(object sender, System.EventArgs e)
{

if(about == null)//保证about只有一个实例
{
about = new Form2();


about = null;

}

}

李洪喜 2004-04-13
  • 打赏
  • 举报
回复
using System;
using System.Windows.Forms;
using System.Data.OleDb ;
using System.Data ;
using System.Runtime.InteropServices ;

namespace test
{
/// <summary>
/// PubClass 的摘要说明。
/// 公用类
/// </summary>
///


public class PubClass
{
}



[DllImport("user32.dll", EntryPoint="FindWindow")]
public static extern int FindWindow (
string lpClassName,
string lpWindowName );
}

在其它地方的调用:

frm = new Form1();
if (int.Parse(test.PubClass.FindWindow(null,frm.Text.ToString()).ToString())==0)
{
frm.Show();
}
else
{
ERM.PubMSN.ShowMSN("该窗体已经打开!");

}
北京的雾霾天 2004-04-13
  • 打赏
  • 举报
回复
可是从Form自己继承一个类,在里面加一个静态的变量,如果显示出来就设为true,如果关掉或不可见时为false等,这样就可以解决啦
lys412 2004-04-13
  • 打赏
  • 举报
回复
if (form1 == null)
{
form form1 = new form();
form1.show();
}
else
form1.show();
就是这个办法了,一直show是没错的
九天 2004-04-13
  • 打赏
  • 举报
回复
顶。还请大家帮忙。
九天 2004-04-12
  • 打赏
  • 举报
回复
form1 没定义怎么用?
Happyboy_zjy 2004-04-12
  • 打赏
  • 举报
回复
if (form1 == null)
{
form form1 = new form();
form1.show();
}
else
form1.show();

110,547

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧