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

mqmmx 2005-04-04 02:36:05
如题:我想实现一个多窗体的程序,主窗体中有多个子窗体,每个子窗体都只能打开一次。打开过的下次再打开就把上次打开的窗体类显示在最前台。但不知怎么判继这个子窗体的类是否实例化过,各位有什么好方法吗?

已前用vb6里面用forms能很好的解决,.net里有什么类似的方法吗?(最近看到.net2005中的vb2005里有一个MY.open什么的参数可以实现,.net2003怎么实现呢?)不知我说的够不够清楚。
...全文
217 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
conan19771130 2005-04-04
  • 打赏
  • 举报
回复
null就好了啊,不懂
tf 2005-04-04
  • 打赏
  • 举报
回复
在那个类里面加一个static变量啊
然后在构造函数里面改变值就好了啊
mqmmx 2005-04-04
  • 打赏
  • 举报
回复
athossmth(athos)这个方法怎么用,vb6里的app.PrevInstance到是知道,是判断当前工程是否在内存中有一个副本。但用这个方法怎么知道窗体中的类是否在内存里有副本呢,你能给段代码吗?
meixiaofeng 2005-04-04
  • 打赏
  • 举报
回复
倒数第二楼的方法不错
athossmth 2005-04-04
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/en-us/vbcon/html/vbconprevinstancepropertychangesinvisualbasicnet.asp
athossmth 2005-04-04
  • 打赏
  • 举报
回复
' 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 Function
xuchi 2005-04-04
  • 打赏
  • 举报
回复
if (frm == null)
{
frm = new Frmclass();
}
frm.ShowDialog();
yufenfeila 2005-04-04
  • 打赏
  • 举报
回复
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();
}
}
jialiang 2005-04-04
  • 打赏
  • 举报
回复
判断该对象是否等于null,等于null表示未实力化,否则为已经实力化
turbomagic 2005-04-04
  • 打赏
  • 举报
回复
最简单的办法,把这些窗体声明为全局静态类,并用一个全局静态数组来给这些类记数.如果某个窗体已经实例化,则0->1,撤消则1-0.依此类推.给我加分吧!
mqmmx 2005-04-04
  • 打赏
  • 举报
回复
能具体些吗?
xuchi 2005-04-04
  • 打赏
  • 举报
回复
判断是否等于null。

110,533

社区成员

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

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

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