我正在编写一个应用程序,扫描图像板中的图像,然后下载它们。当然,这必须是螺纹,因为多个板可以一次刮。我已经完成了基本的功能,但是现在我遇到了瓶颈。
目前我通过给出一个url来启动线程,然后按一个按钮,这个按钮启动一个指向类的线程。
我的问题在这个类中,因为我在那里使用了一个计时器。
当前数据被一次性推入日志,但应该在设置时推入数据。
目前这是我的函数,绑定到我的计时器的tick事件:
public void scanForImages(object s, ElapsedEventArgs e)
{
if (status != 1 && status != 4)
{
status = 1;
int i = 0;
while (status == 1)
{
main.updateLog(th.Name + ": Blaatn");
i++;
if (i > 50)
{
status = 4;
t.Stop();
main.updateThreads("Aborting: " + th.Name, th);
th.Abort();
}
}
}
else
{
t.Stop();
}
}
它在我的文本框中返回输出,但它一次推送所有内容(所有th.Name + ": Blaatn"
updateLog:公共无效updateLog(字符串txt){
if (InvokeRequired)
{
Action action = () => textBox2.AppendText(txt);
textBox2.Invoke(action);
}
else
{
textBox2.AppendText(txt);
}
}
我做错了什么?(如果需要,可以提供更多代码)
你不给。updatelog代码,所以我们可以正确回答所以…要么必须刷新该函数内的文件,要么必须初始化调度程序
Dispatcher.Invoke(DispatcherPriority.Normal,
new Action<string>(main.updateLog),
th.Name + ": Blaatn");