【发布时间】:2016-04-20 08:19:37
【问题描述】:
我创建了一个 Windows From 应用程序 (.Net 4.5) 并使用循环向不同的收件人发送电子邮件(一个包含电子邮件地址和复选框的列表视图);
for (int i = 0; i < ListView_addresses.Items.Count; i++)
{
try
{
ListView_addresses.Items[i].Selected = true;
///////////////////////////////
//the code for smtp properties
//////////////////////////////
SmtpServer.Send(mail);
ListView_addresses.Items[i].Checked = true;
}
catch
{
ListView_addresses.Items[i].Checked = false;
}
}
如果可以发送电子邮件,则勾选复选框,如果不能发送。
问题是主UI在执行过程中被阻塞,没有刷新列表视图中的更改。
我该怎么办?
【问题讨论】:
-
您可以使用 TPL、线程或后台工作程序。我更喜欢Backgroundworker。您必须在主线程中可视化进度。
-
我该怎么做?我的意思是实现代码
标签: c# multithreading email user-interface