Vb.net Net列表框问题
我正在尝试编写一个程序,该程序可执行以下操作: 1) 打开URL列表(完成) 2) 添加到列表框(完成) 3) 从文本框中选择前3项 4) Webbrowser 1、Webbrowser 2和Webbrowser 3导航到从列表框中选择的URL 5) 删除URL的一部分,并将剩余文本添加到Listbox2,一次添加一项 6) 删除Listbox1上的选定项并再次启动该过程 以下是我目前的代码:Vb.net Net列表框问题,vb.net,Vb.net,我正在尝试编写一个程序,该程序可执行以下操作: 1) 打开URL列表(完成) 2) 添加到列表框(完成) 3) 从文本框中选择前3项 4) Webbrowser 1、Webbrowser 2和Webbrowser 3导航到从列表框中选择的URL 5) 删除URL的一部分,并将剩余文本添加到Listbox2,一次添加一项 6) 删除Listbox1上的选定项并再次启动该过程 以下是我目前的代码: Imports System.IO Public Class Form1 Dim em A
Imports System.IO
Public Class Form1
Dim em As String = "@facebook.com"
Dim url As String = "https://facebook.com/profile.php?id="
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.Text = ""
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using FD As New OpenFileDialog()
FD.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
If FD.ShowDialog = Windows.Forms.DialogResult.OK Then
ListBox1.Items.Clear()
ListBox1.Items.AddRange(IO.File.ReadAllLines(FD.FileName))
End If
End Using
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Me.ListBox1.SetSelected(1, True)
Me.ListBox1.SetSelected(2, True)
Me.ListBox1.SetSelected(3, True)
WebBrowser1.Navigate(url + ListBox1.SelectedItems(1).ToString())
WebBrowser2.Navigate(url + ListBox1.SelectedItems(2).ToString())
WebBrowser3.Navigate(url + ListBox1.SelectedItems(3).ToString())
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
ListBox2.Items.Add(WebBrowser1.Url.ToString + em)
End Sub
Private Sub WebBrowser2_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser2.DocumentCompleted
ListBox2.Items.Add(WebBrowser2.Url.ToString + em)
End Sub
Private Sub WebBrowser3_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser3.DocumentCompleted
ListBox2.Items.Add(WebBrowser3.Url.ToString + em)
System.Threading.Thread.Sleep("1000")
ListBox1.SelectedItems.Remove(1)
ListBox1.SelectedItems.Remove(2)
ListBox1.SelectedItems.Remove(3)
System.Threading.Thread.Sleep("1000")
BackgroundWorker1.RunWorkerAsync()
End Sub
End Class
这是我能想到的最简单的方法(我没有循环方面的经验)。非常感谢您的帮助,因为我已经好几年没有使用VB.Net了。后台工作人员不能修改任何“物理”对象。就像你在表格中看到的那样。BackgroundWorkers只能修改抽象对象,例如变量。对不起,我不明白你的问题是什么。嘿,对不起,我忘了提这个问题。可能重复忽略该帖子中包含
CheckForIllegalCrossThreadCalls=False的任何答案,因为这是错误的建议。