Vb.net 表单实例
我遇到了一个问题,我有点困惑,所以我只想简单地说: 我有两张表格(表格一和表格二) Form1有一个tabcontrol,它在tabpage中显示form2。 Form2有一个按钮1,它会自动关闭,因此会关闭选项卡页 我将此代码用于button1:Vb.net 表单实例,vb.net,Vb.net,我遇到了一个问题,我有点困惑,所以我只想简单地说: 我有两张表格(表格一和表格二) Form1有一个tabcontrol,它在tabpage中显示form2。 Form2有一个按钮1,它会自动关闭,因此会关闭选项卡页 我将此代码用于button1: Dim f1 As New Form1() f1.tabControl1.Controls.Remove(f1.tabControl1.Selectedtab) 使用上述代码,我得到了一个异常,因此为了确保tabpage在那里,我在删除tabpag
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中的按钮点击事件中调用它:
Dim tabpage1 as new Tabpage
Dim f2 as new Form2
tabpage1.Controls.Add(f2)
f2.show()
tabControl1.TabPages.Add(tabpage1)
我得到了答案:
表格2:
Dim f1 As New Form1
Public Sub New(ByRef _f1)
' TODO: Complete member initialization
InitializeComponent()
f1 = _f1
End Sub
我只是引用了form1,我无法重现异常。请把它添加到你的问题中。如果从f1实例中删除SelectedTab,则预期它比默认实例少一个选项卡。是的,但在删除选项卡页之前,我正在执行Console.writeline,因此iInstance和默认实例都应该有一个选项卡页。默认实例的tabcount仅显示1。我无论如何都无法复制它。我创建了一个空表单,添加了一个带有一个选项卡的TabControl,并创建了表单的一个实例。它显示TabCount=1,没有
NullReferenceException
。您的Form1类中一定有什么原因导致了这种情况。可能是我以编程方式添加了tabpage吗?@D Torres我想这就是问题所在。在查询f1.tabControl1.TabCount