怎么判断窗体是否打开

如何判断窗体是否打开
VB2005的环境

有两个窗体Form1, Form2

在Form1中的按钮A中:
Dim a As New Form2
a.Show()

重复点击按钮A会打开多个Form2,请问在打开之前能否先判断a是否打开,如果已经打开则激活a并显示到最前面。

请问VS2005有没有什么新的方法来判断?

------解决方案--------------------
if (a.Visible)
{
// 窗体是Show的。

else 
{
// 窗体是Hide的。
}
------解决方案--------------------
Sorry,写成C#了
你改成VB.NET就好了。
IF a.Visble THEN
// 窗体是Show的。 
ELSE
// 窗体是Hide的。 
END IF
------解决方案--------------------
VB.NET code
Dim a As New Form2 
a.ShowDialog()

------解决方案--------------------
探讨
Sorry,写成C#了
你改成VB.NET就好了。
IF a.Visble THEN
// 窗体是Show的。
ELSE
// 窗体是Hide的。
END IF

------解决方案--------------------
try it
VB.NET code
Dim a As Form2
'在Form1中的按钮A中:
if a is nothing then a=New Form2 
a.Show()

------解决方案--------------------

VB.NET code
    Dim a As Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If a Is Nothing Then a = New Form2
        a.Show()
    End Sub

------解决方案--------------------
VB.NET code

dim a as Form2
a.show

------解决方案--------------------
VB.NET code

dim a as form=form2
a.show

------解决方案--------------------
原来是说重复点击。。。
也就是说LZ在按钮点击的时候才new。。。
汗。。。没说清楚哦。。。呵呵。
5楼正解。

------解决方案--------------------
VB.NET code
Form2.show()

------解决方案--------------------
VB.NET code
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.Show()
        Form2.Focus()
    End Sub

------解决方案--------------------
这样是否就能满足你了呢

C# code

    public partial class Form1 : Form
    {
        Form2 form2;
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_show2_Click(object sender, EventArgs e)
        {
            if (form2 == null)
            {
                form2 = new Form2();
                form2.BringToFront();
                form2.Show();
            }
            else
            {
                if (form2.IsDisposed)
                {
                    form2 = new Form2();
                }
                form2.BringToFront();
                form2.Show();
            }
        }
    }

------解决方案--------------------
呵呵,我也搞成C#的了,你自己改成VB.NET吧
------解决方案--------------------
用true和false来判定,当打开时一个时就设置为一个值.这样说懂吗,不懂就加QQ问我469840643
------解决方案--------------------
我说明下 我的代码
VB.NET code
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.Show()
        Form2.Focus()
    End Sub

------解决方案--------------------