我目前有一个类似如下的循环:
foreach(var item in theList)
{
//create writeablebitmap from item.GetPicture() which returns a stream.
//do stuff with it
//save it to isolated storage
}
这是一个非常长时间运行的过程,因为有大量的图像。我试着把它放在后台工作线程中,但是你不能在那里创建WriteableBitmaps (它们必须在UI线程上)。问题是界面完全没有响应。
我如何让它在每个循环中处理一次按键/ UI,以确保它可以响应用户正在做的事情?
我对VB.net中的进度条很困惑,下面是我的代码
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ProgressBar_my.Minimum = 0
ProgressBar_my.Maximum = 10
ProgressBar_my.Step = 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Syst
我需要编写一个VB.Net 2008小程序来遍历所有固定驱动器来查找一些文件。如果我将代码放在ButtonClick()中,UI就会冻结,直到代码完成:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'TODO Find way to avoid freezing UI while scanning fixed drives
Dim drive As DriveInfo
Dim filelis
在我的vb.net winform应用程序中,单击start按钮,label1.text应为“进程已启动”,然后一些文件保存方法将在完成该方法后运行。label1.text应更改为"file saved“。
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
lblStatus.ForeColor = Color.Red
lblStatus.Text = "Saving to File"
我有一个线程来监听发送给我的WPF应用程序的命令。如果WPF应用程序收到一个截图命令,任务就会被交给一个"screenshotService“。我发现一些代码在互联网上的某处截图,似乎可以工作,但我没有仔细考虑过……我不能从另一个线程截图,给出了这个例外:
{"This API was accessed with arguments from the wrong context."}
我要说的是,我的屏幕截图方法的签名从UI中获取了一个UIElement,这个网格始终是同一个网格,并传递给takeScreenshot方法的构造函数。
我该怎么去拍摄这个截图呢?
我正在尝试用VB.Net构建一个日志解析器,它将获取IIS日志并将它们插入到数据库中。我从来没有真正做过一个完整的桌面应用程序,所以我遇到了一些绊脚石,所以如果我的问题是非常不知情的,请原谅我;我正在学习边跑边走。
我正在使用的代码如下所示:
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sende
我正在使用VB.NET 2005编程。我使用BackgroundWorker加载一个大列表或文本文件并对其进行处理。
是否可以使用相同的后台工作人员来处理其他内容,即处理已加载的文本文件?
有些像
Dim bwkMain as New BackgroundWorker()
如果可能的话,我如何以我已经为第一次实现的形式实现它?
编辑
问题是:在一个任务完成后,是否可以对另一个任务使用相同的BackgroundWorker?