これは私を驚かせています。これが可能であれば、喜んで助けていただければ幸いです。
私は C# 開発者ですが、VB.NET でこれを行う必要があります。
そのため、C# の回答も受け入れられました。
フォームにタブ コントロールがあります。このコントロールにはまだタブがありません。
フォームが読み込まれると、「開始」ページが読み込まれます。タブ「tbpStart」を追加し、フォームをタブページ「frmStart」にロードします。
この開始ページには、多数のラジオ ボタンがあります。1 つのラジオ ボタンをクリックすると、メイン フォームに他のタブが読み込まれます。
問題は、あるフォームのタブ コントロールに別のフォームからタブを追加する方法です。
コード:
メイン フォームの読み込み時:
Try
'Load the Start Tab
Dim start As New frmTabStart
AddTabPage("Start", start)
Catch ex As Exception
PMComponentLibrary.PMMessageBox.ShowErrorMessage("Error occurred while trying to load the from.", ex)
End Try
メインフォームの機能:
Public Sub AddTabPage(tabPageName As String, myForm As System.Windows.Forms.Form)
Try
myForm.TopLevel = False
myForm.Dock = DockStyle.Fill
myForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Dim NewTab As New System.Windows.Forms.TabPage
NewTab.Name = "tab" + tabPageName
NewTab.Text = tabPageName
NewTab.Controls.Add(myForm)
tbcMain.TabPages.Add(NewTab)
myForm.Show()
Catch ex As Exception
Throw ex
End Try
End Sub
「開始フォーム」のラジオボタンをクリックすると、クリックイベントでこれが実行されます。
If sender Is rdbWIPPostings Then
entity = New frmTabEntity()
mainForm.AddTabPage("Step 1", entity)
Application.DoEvents()
dte = New frmTabDate()
mainForm.AddTabPage("Step 2", dte)
wipSelect = New frmTabWIPSelect()
mainForm.AddTabPage("Step 3", wipSelect)
finish = New frmTabFinish()
mainForm.AddTabPage("Finish", finish)
End If
ただし、タブはメイン フォームに追加されません。私は何を間違っていますか?