表格的实例

时间:2017-09-26 07:17:57

标签: vb.net

我遇到了问题,我有点困惑,所以我只是简单地说:

我有2个表单(form1和form2)。

Form1有一个tabcontrol,它在tabpage中显示form2。 Form2有一个button1,它自己关闭,因此是tabpage。

我正在将此代码用于button1:

Dim f1 As New Form1()
f1.tabControl1.Controls.Remove(f1.tabControl1.Selectedtab)

使用上面的代码我得到了一个异常,所以为了确保tabpage是在那里我在删除tabpage之前在button1中添加它:

Console.Writeline(f1.tabControl1.TabCount)

使用实例显示0.但使用默认实例显示1:

Console.Writeline(Form1.tabControl1.TabCount)

我想知道我是否在创建实例

时做错了什么

Pd:我知道我可以用这个:

Form1.tabControl1.Controls.Remove(Form1.tabControl1.Selectedtab)

但我需要使用实例

编辑:

我使用时收到了NullReferenceException:

Dim f1 As New Form1()
f1.tabControl1.Controls.Remove(f1.tabControl1.Selectedtab)

正如我所说,如果我使用deafult实例

,它会起作用

编辑2:

这是我用来创建tabpage的代码,这个方法在form1中,我在form1的按钮的click事件中调用它:

Dim tabpage1 as new Tabpage
Dim f2 as new Form2

tabpage1.Controls.Add(f2)
f2.show()

tabControl1.TabPages.Add(tabpage1)

1 个答案:

答案 0 :(得分:0)

我得到了答案: 在form2中:

Dim f1 As New Form1
Public Sub New(ByRef _f1)
' TODO: Complete member initialization 
InitializeComponent()
f1 = _f1
End Sub

我只需要引用form1