/// <summary>
/// 打开窗体数组
/// </summary>
private static ArrayList FormOpenList = new ArrayList();
/// <summary>
/// 打开窗口
/// </summary>
/// <param name="f"></param>
public static void OpenFormList(System.Windows.Forms.Form f)
{
try
{
//检测是否已经打开(不重复打开)
foreach (System.Windows.Forms.Form childForm in FormOpenList)
{
if (childForm.Name == f.Name)//Name比较稳定
{
f.Close();
f.Dispose();
childForm.Activate();//如果已经打开,则激活为具有焦点窗口
return;
}
}
FormOpenList.Add(f);
f.FormClosed += new System.Windows.Forms.FormClosedEventHandler(CloseFormList);
f.Show();
}
catch (Exception ex)
{
f.Dispose();//释放资源
MessageBoxEty.Show(ex);
}
}
/// <summary>
/// 关闭时,请调用
/// </summary>
/// <param name="f"></param>
public static void CloseFormList(object sender, System.Windows.Forms.FormClosedEventArgs e)
{
FormOpenList.Remove(sender);
}
public static void ShowFormList()
{
foreach (System.Windows.Forms.Form item in FormOpenList)
{
item.Show();
}
}
/// <summary>
/// 隐藏窗口
/// </summary>
public static void HideFormList()
{
foreach (System.Windows.Forms.Form item in FormOpenList)
{
item.Hide();
}
}
/// <summary>
/// 清空窗体数组列表
/// </summary>
public static void ClearFormList()
{
FormOpenList.Clear();
FormOpenList = new ArrayList();
}