winForm里面为什么点一个按纽的时构造一个Form实例,并调用show方法显示出来,.再点的话会再显示一个新的(构造一个.) winForm里面为什么点一个按纽的时构造一个Form实例,并调用show方法显示出来,.再点的话会再显示一个新的(构造一个.) 有什么办法只让它出来一个,怎么点都只出来一个,如果点的时候那一个是打开的,就成为活动窗体!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以自己控制要不要再创建实例: if(sn==null) sn=new sonwin(); sn.Show();要定义: private sonwin sn=null; 我用的办法:假设主窗口A,新打开的窗口是B。点完让B弹出,然后按钮变灰。关闭B时,让B发一个消息给A,A把按钮变亮。 面向对象拉NEW 的时候创建了一个新实例可以用单例模式public static Form1 singleForm=null; //单例模式 public static Form1 getInstance() { if(singleForm==null || singleForm.IsDisposed) { singleForm=new Form1(); } return singleForm; } Form2 fm2 = new Form2();this.Hide();fm2.Show();this.Show(); 用回复人: fellowcheng(头都编大了)的方法! 支持 fellowcheng(头都编大了) ,我也受用了 在FormA中定义:public FormB frmb=null;public Button bOpen;bOpen_Click(...){if(frmb==null)//反正后面bOpen.Enable=false的这判断不要也行{frmb=new FormB();frmb.frma=this;frmb.Show();bOpen.Enable=false;}}-----------------------------在FormB中定义:public FormA frma;在OnClosing事件中加入:if(frma!=null)frma.bOpen.Enable=true; 楼主,可以这样(设你要找开的窗体叫frmChild)public class frmMain : Form{//1)定义全局变量private frmChild frm = null;private void Button1_Click(object sender, EventArgs e){ if (frm == null){frm = new frmChild();frm.Show();}else{frm.BringToFront();}}} (rdlc,水晶报表)报表换行问题 关于“容器显示页面”的问题 c#如何调用c++编写好的dll文件 重“运行”,怎么实现?winform编程问题 C# Word报表 开发提示 listView1怎么绑定数据库 bindingsource与dataview的转换 如何在类库里面编写一个webcontrol比如我要写个datagrid而且有很多的方法 急聘c#软件开发人员 C# 操作Excel2003 把里面的数据导入到模板Excel中 C#中有没有类似TQUERY的支持多库查询的的控件 有关.NET中DLL装载的问题,请教各位高手!!!
if(sn==null)
sn=new sonwin();
sn.Show();
要定义:
private sonwin sn=null;
NEW 的时候创建了一个新实例可以用单例模式
public static Form1 singleForm=null; //单例模式 public static Form1 getInstance()
{ if(singleForm==null || singleForm.IsDisposed)
{ singleForm=new Form1(); } return singleForm; }
this.Hide();
fm2.Show();
this.Show();
public FormB frmb=null;
public Button bOpen;
bOpen_Click(...)
{
if(frmb==null)//反正后面bOpen.Enable=false的这判断不要也行
{
frmb=new FormB();
frmb.frma=this;
frmb.Show();
bOpen.Enable=false;
}
}
-----------------------------
在FormB中定义:
public FormA frma;
在OnClosing事件中加入:
if(frma!=null)
frma.bOpen.Enable=true;
public class frmMain : Form
{
//1)定义全局变量
private frmChild frm = null;private void Button1_Click(object sender, EventArgs e)
{
if (frm == null)
{
frm = new frmChild();
frm.Show();
}
else
{
frm.BringToFront();
}
}}