VB.net入门——窗体相互操作的问题解决
相信不少VB.NET初学者都会有这样的迷惑,在vb.net中到底如何在一个窗体中操作另外一个窗体呢?在巧巧论坛上也有不少类似的问题提出来,特别是从vb6升级过来的用户更加觉得在vb.net中操作窗体麻烦。
为什么会出现这样的情况呢?这是因为在vb6中,我们可以直接使用窗体的名称来操作该窗体,而在VB.NET中,窗体被视为一个类了,窗体的名称只是类名,还没实例化的情况下是不能对类进行操作的。
既然我们知道原因了,下面就可以很容易找到解决的办法了,那就是调用new方法把窗体实例化。请看下面的示例。
先建立一个空白的Windows解决方案,再建立二个Form窗体,分别为Form1和Form2,再Form1中添加一个名为Button1的Button控件。
双击Button1控件,进入添加代码的模式,在Button1_Click中添加如下代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm2 As New Form2
frm2.Show()
End Sub
运行,单击Button1按钮,现在就能弹出Form2窗体了。实例化Form2后,我们就可以通过frm2这个变量名直接调用和控制Form2中的控件和变量了。
但是,你有没有发现,如果在没有关闭Form2的情况下再次单击Button1按钮的话,会再次弹出一个Form2窗体,如下图所示:

会弹出重复的Form2窗体
为什么会这样呢?这是因为Form2被再次实例化了,且重新赋值给frm2这个变量。很多情况下,我们在不关闭窗体的情况下并不需要重新弹出一个一样的窗体来,所以很明显以上的代码是有缺陷的,该怎么解决这个问题呢?问题解决请看下一页。
- 最新文章
- vb.net关闭IE弹出小窗口小技巧[05-23]
- vb.net入门——热键隐藏和显示窗口[05-23]
- VB.net入门——获取程序运行路径[05-23]
- 在VB.NET中使用新的控件labellink访问网页[05-23]
- 自己做出VB.NET风格的右键菜单[05-23]
- 利用UltraEdit快速将SQL语句转换为符合VB.NET..[05-23]
- 相关文章
- vb.net关闭IE弹出小窗口小技巧[05-23]
- vb.net入门——热键隐藏和显示窗口[05-23]
- VB.net入门——获取程序运行路径[05-23]
- 在VB.NET中使用新的控件labellink访问网页[05-23]
- 自己做出VB.NET风格的右键菜单[05-23]
- 利用UltraEdit快速将SQL语句转换为符合VB.NET..[05-23]
