我正在尝试在VB.NET中实现一个项目,其中用户可以并排看到两个浏览器窗口窗格。它非常类似于在屏幕上并排放置两个浏览器窗口,一个停靠在左侧,另一个停靠在右侧。只有在这种情况下,才有一个应用程序。我的代码存在以下问题
这是我的代码(无法发布图片):
Public Class Form1
Dim int As Integer = 0
Dim int1 As Integer = 0
Private Sub Loading(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserProgressChangedEventArgs)
ToolStripProgressBar1.Maximum = e.MaximumProgress
ToolStripProgressBar1.Value = e.MaximumProgress
End Sub
Private Sub Loading1(ByVal sender1 As Object, ByVal e1 As Windows.Forms.WebBrowserProgressChangedEventArgs)
ToolStripProgressBar2.Maximum = e1.MaximumProgress
ToolStripProgressBar2.Value = e1.MaximumProgress
End Sub
Private Sub Done(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserDocumentCompletedEventArgs)
TabControl1.SelectedTab.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).DocumentTitle
TextBox1.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Url.ToString
End Sub
Private Sub Done1(ByVal sender1 As Object, ByVal e1 As Windows.Forms.WebBrowserDocumentCompletedEventArgs)
TabControl2.SelectedTab.Text = CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).DocumentTitle
TextBox2.Text = CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Url.ToString
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Browser As New WebBrowser
TabControl1.TabPages.Add("New Page")
Browser.Name = "Web Browser"
Browser.Dock = DockStyle.Fill
TabControl1.SelectedTab.Controls.Add(Browser)
AddHandler Browser.ProgressChanged, AddressOf Loading
AddHandler Browser.DocumentCompleted, AddressOf Done
int = int + 1
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.homePage)
Dim Browser1 As New WebBrowser
TabControl2.TabPages.Add("New Page")
Browser1.Name = "Web Browser 2"
Browser1.Dock = DockStyle.Fill
TabControl2.SelectedTab.Controls.Add(Browser1)
AddHandler Browser1.ProgressChanged, AddressOf Loading1
AddHandler Browser1.DocumentCompleted, AddressOf Done1
int1 = int1 + 1
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.homePage)
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Browser As New WebBrowser
TabControl1.TabPages.Add("New Page")
TabControl1.SelectTab(int)
Browser.Name = "Web Browser"
Browser.Dock = DockStyle.Fill
TabControl1.SelectedTab.Controls.Add(Browser)
AddHandler Browser.ProgressChanged, AddressOf Loading
AddHandler Browser.DocumentCompleted, AddressOf Done
int = int + 1
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.homePage)
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Not TabControl1.TabPages.Count = 1 Then
TabControl1.TabPages.RemoveAt(TabControl1.SelectedIndex)
TabControl1.SelectTab(TabControl1.TabPages.Count - 1)
int = int - 1
End If
End Sub
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Enter Then
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox1.Text)
End If
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).ShowPropertiesDialog()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoBack()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoForward()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Refresh()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Stop()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.homePage)
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox1.Text)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ToolStripStatusLabel1.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).StatusText
End Sub
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
Dim Browser1 As New WebBrowser
TabControl2.TabPages.Add("New Page")
TabControl2.SelectTab(int1)
Browser1.Name = "Web Browser 2"
Browser1.Dock = DockStyle.Fill
TabControl2.SelectedTab.Controls.Add(Browser1)
AddHandler Browser1.ProgressChanged, AddressOf Loading1
AddHandler Browser1.DocumentCompleted, AddressOf Done1
int1 = int1 + 1
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.homePage)
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
If Not TabControl2.TabPages.Count = 1 Then
TabControl2.TabPages.RemoveAt(TabControl2.SelectedIndex)
TabControl2.SelectTab(TabControl2.TabPages.Count - 1)
int1 = int1 - 1
End If
End Sub
Private Sub TextBox2_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Enter Then
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox2.Text)
End If
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).ShowPropertiesDialog()
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).GoBack()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).GoForward()
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Refresh()
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Stop()
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.homePage)
End Sub
Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox2.Text)
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
ToolStripStatusLabel2.Text = CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).StatusText
End Sub
End Class
我是新来的,所以如果我错过了什么,我很抱歉。任何帮助,将不胜感激。谢谢。
编辑:我尝试在单个窗格中实现相同的功能,就像在Visual Studio 2013中实现一个简单的选项卡式浏览器一样。结果相同。只有GO按钮有效,输入键不会产生任何效果。
答案 0 :(得分:-1)
If e.KeyCode = Keys.Enter Then CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox1.Text) End If
您只在TabControl1(或2)中调用导航。您需要从每个TextBoxX_KeyDown处理程序中调用所有。
If e.KeyCode = Keys.Enter Then CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox1.Text) CType(TabControl2.SelectedTab.Controls.Item(0), WebBrowser).Navigate(TextBox2.Text) End If