我今天刚刚开始编程VB;所以请原谅我的无能。
我目前有两个窗体形式,一个用于通过TabControl导航不同的页面(称为BusinessSalesPage.vb),另一个是独立的(BusinessQuestion.vb)。在BusinessSalesPage.vb上按下按钮时,将打开第二个窗体。
当第二个窗口打开时,它有两个按钮,我希望用户能够单击一个按钮,然后从第一个窗口(BusinessSalesPage.vb)上的TabControl将它们带到第三个选项卡。提前谢谢。
这是我的代码:
Public Class BusinessQuestion
Inherits System.Windows.Forms.Form
Friend WithEvents mainMenu As System.Windows.Forms.TabControl
Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
Private Sub yesButn_Click(sender As Object, e As EventArgs) Handles yesButn.Click
mainMenu.SelectedTab = TabPage3()
End Sub
End Class
以下是我遇到的错误:
处理了NullReferenceException - 对象引用未设置为对象的实例。
修改
Public Class BusinessSalesPage
Inherits System.Windows.Forms.Form
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
mainMenu.SelectedTab = TabPage2
BusinessQuestion.Show()
End Sub
End Class
答案 0 :(得分:1)
您需要引用mainForm的实际实例。你目前没有。
您可以尝试在构造函数中传递引用:
Public Class BusinessQuestion
' code...
Public Sub New(mainMenu As TabControl, tabPage3 As TabPage)
InitializeControls()
Me.mainMenu = mainMenu
Me.TabPage3 = tabPage3
End Sub
' code...
End Class
您的BusinessSalesPage应该看起来像这样:
Public Class BusinessSalesPage
Inherits System.Windows.Forms.Form
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
mainMenu.SelectedTab = TabPage2
Dim bq As New BusinessQuestion(mainMenu, TabPage3)
bq.ShowDialog()
End Sub
End Class
答案 1 :(得分:1)
@LarsTech我也尝试了这个,但我的代码存在问题。在第一个窗体上,当我键入mainMenu.SelectedTab = TabPage 1时,我收到错误:“SelectedTab不是System.Windows.Forms.MainMenu的成员,并且未声明TabPage1。由于其保护级别,它可能无法访问。在第二个表单上它没有找到InitializeControls,只有InitializeComponents。我在VS 2010中,这是我的代码:
第一种形式:
Public Class WCC
Inherits System.Windows.Forms.Form
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
mainMenu.SelectedTab = TabPage1
Dim MSO As New MSO2014CC(mainMenu:=, TabPage1:=)
MSO.ShowDialog()
End Sub
End Class
第二表格:
Public Class MSO2014CC
Inherits System.Windows.Forms.Form
Friend WithEvents mainMenu As System.Windows.Forms.TabControl
Public Sub New(mainMenu As TabControl, tabPage1 As TabPage)
InitializeComponent()
Me.mainMenu = mainMenu
Me.TabPage1 = tabPage1
End Sub
End Class