【发布时间】:2015-09-24 07:50:58
【问题描述】:
我有一个可以多次打开的 Form1,每次都有不同的序列号。所以说:
Form1 - 序列号 100
Form1 - 序列号 110
Form1 - 序列号 120
序列号是 Form1 上的公共 int 变量。只要不是同一个序列号,该程序就应该能够多次打开同一个表单。所以我需要程序检测Form1-Serial 100何时已经打开,以免同一个表单打开两次。
我在 Form1 上有这段代码
public string GetSerial
{
get
{
return databaseviewserial;
}
}
我在启动 Form1 的表单上有这个:
Form1 s = (Form1)Application.OpenForms["Form1"];
if (s != null && s.GetSerial == record)
{
s.BringToFront();
s.WindowState = FormWindowState.Maximized;
}
else
{
Form1 type = new Form1(record, "PendingForm");
type.FormClosed += new FormClosedEventHandler(inhouse_FormClosed);
type.Show();
}
这将成功检查带有序列号 100 的 Form1 是否打开,如果用户尝试重新打开同一个表单,则将其最大化,但是一旦我打开了两个带有不同序列号的 Form1,它就不再工作,并且将打开 Form1 而没有检查表单序列。
有人可以帮我解决这个问题吗?
【问题讨论】: