CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

winform开发(如何知道一个类是否实例化过,主要是form窗体类)

楼主mqmmx(魂之结界)2005-04-04 14:36:05 在 .NET技术 / C# 提问

如题:我想实现一个多窗体的程序,主窗体中有多个子窗体,每个子窗体都只能打开一次。打开过的下次再打开就把上次打开的窗体类显示在最前台。但不知怎么判继这个子窗体的类是否实例化过,各位有什么好方法吗?  
   
  已前用vb6里面用forms能很好的解决,.net里有什么类似的方法吗?(最近看到.net2005中的vb2005里有一个MY.open什么的参数可以实现,.net2003怎么实现呢?)不知我说的够不够清楚。 问题点数:50、回复次数:12Top

1 楼xuchi(赤色六芒星)回复于 2005-04-04 14:43:02 得分 10

判断是否等于null。Top

2 楼mqmmx(魂之结界)回复于 2005-04-04 14:52:20 得分 0

能具体些吗?Top

3 楼turbomagic(蓝天鹅)回复于 2005-04-04 14:57:01 得分 5

最简单的办法,把这些窗体声明为全局静态类,并用一个全局静态数组来给这些类记数.如果某个窗体已经实例化,则0->1,撤消则1-0.依此类推.给我加分吧!Top

4 楼jialiang(≈≈逆水行舟≈≈)回复于 2005-04-04 14:57:25 得分 5

判断该对象是否等于null,等于null表示未实力化,否则为已经实力化Top

5 楼yufenfeila(雨纷飞啦)回复于 2005-04-04 14:59:47 得分 10

public   Form2   f2;  
   
  private   void   button1_Click(object   sender,   System.EventArgs   e)  
  {  
  if   (f2   ==   null)  
  {  
  f2   =   new   Form2();  
  f2.Show();  
  }  
  else  
  {  
  f2.Show();  
  f2.Focus();  
  }  
  }Top

6 楼xuchi(赤色六芒星)回复于 2005-04-04 15:03:41 得分 5

if   (frm   ==   null)    
  {  
                  frm   =   new   Frmclass();  
  }  
  frm.ShowDialog();Top

7 楼athossmth(athos)回复于 2005-04-04 15:05:00 得分 5

'   Visual   Basic   .NET  
  Function   PrevInstance()   As   Boolean  
        If   Ubound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName))   >   0   Then  
              Return   True  
        Else  
              Return   False  
        End   If  
  End   FunctionTop

8 楼athossmth(athos)回复于 2005-04-04 15:07:46 得分 0

http://msdn.microsoft.com/library/en-us/vbcon/html/vbconprevinstancepropertychangesinvisualbasicnet.aspTop

9 楼meixiaofeng(yesmsn)回复于 2005-04-04 15:10:41 得分 0

倒数第二楼的方法不错Top

10 楼mqmmx(魂之结界)回复于 2005-04-04 15:41:57 得分 0

athossmth(athos)这个方法怎么用,vb6里的app.PrevInstance到是知道,是判断当前工程是否在内存中有一个副本。但用这个方法怎么知道窗体中的类是否在内存里有副本呢,你能给段代码吗?Top

11 楼tf(菜鸟)回复于 2005-04-04 15:45:01 得分 5

在那个类里面加一个static变量啊  
  然后在构造函数里面改变值就好了啊Top

12 楼conan19771130(残疾人程序员,学习第2门外语)回复于 2005-04-04 16:52:05 得分 5

null就好了啊,不懂Top

相关问题

  • WinForm 中如何获得所有打开窗体的实例?
  • 窗体的最小化过程是什么呀?(100分)
  • 如何由窗体名来创建这个窗体的实例?
  • 求asp.net窗体身份验证实例
  • 如何创建多窗体实例
  • 在MDI窗体中如何让一个子窗体生成两个实例?
  • 在WinForm中怎样把MDI父窗体的子窗体的子窗体设为父窗体的子窗体?
  • winform中的窗体问题
  • winform中,A,B 2个窗体 A是查询窗体,B是查询结果,A如何刷新B(不能关闭,只实例化一次),有具体说明,在线等!!
  • 如何显示MDI子窗体的多个实例

关键词

  • .net
  • vb6
  • null
  • 窗体
  • f2
  • 实例
  • 类
  • 是否
  • 打开
  • frm

得分解答快速导航

  • 帖主:mqmmx
  • xuchi
  • turbomagic
  • jialiang
  • yufenfeila
  • xuchi
  • athossmth
  • tf
  • conan19771130

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo