我有一个listview循环,它将150,000个项目添加到我的列表视图中.出于测试目的,我将此代码移动到具有委托的后台工作者,但它仍然冻结了UI.我正在尝试找到一个解决方案,以便它可以在后台添加这些项目,同时我在应用程序中执行其他操作.你们推荐什么解决方案?
这就是我正在使用的
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListView1.Clear()
ListView1.BeginUpdate()
bw.WorkerReportsProgress = True
bw.RunWorkerAsync()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If bw.IsBusy Then bw.CancelAsync()
End Sub
Private Sub bw_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bw.DoWork
For x = 1 To 125000
Dim lvi As New ListViewItem("Item " & x)
If bw.CancellationPending Then
e.Cancel = True
Exit For
Else
bw.ReportProgress(0, lvi)
End If
Next
End …Run Code Online (Sandbox Code Playgroud) 我试图找到正确的正则表达式来只从字符串的开头删除数字
>from
8012 name last name 123 456
6952332 name last 213 5695
>into
name last name 123 456
name last 213 5695
Run Code Online (Sandbox Code Playgroud)
这不好因为它匹配所有
@"[\d-]"
Run Code Online (Sandbox Code Playgroud) 转换此字符串的最佳方法是什么?
Dim MyString As String = "20150728-02:21:44.952"
Run Code Online (Sandbox Code Playgroud)
进入这个
"2015/07/28 02:21:44.952"
Run Code Online (Sandbox Code Playgroud) 我有一个中等规模的项目,使用最新版本的 2017 Visual Studio 在 vb.net 中编码。我现在遇到的问题是,当我编辑文本框(将 txtCarType 改为 txtCarType2)时,需要大约 15 秒的时间来处理。我在标签或重命名任何控件方面也遇到同样的问题。我该如何解决这个落后于其杀伤力的问题。