110,537
社区成员
发帖
与我相关
我的任务
分享
private void btn_out_Click(object sender, RoutedEventArgs e)
{
if (tb_path.Text.Trim() != "")
{
btn_out.IsEnabled = false;
string conn = tb_Data.Text.Trim();
Thread thread = new Thread(() => fileOut(conn));
thread.Start();
}
else
{
System.Windows.MessageBox.Show("请选择文件输出路径");
}
}
private void fileOut(string conn, List<string> codeList, string path, string newPath)
{
if (codeList.Count > 0)
{
if (conn != "")
{
var data = new DA_File.Data.toData(conn);
int count = 0;
foreach (var item in codeList)
{
count += data.getCount(item);
}
this.Dispatcher.BeginInvoke(new Action(() =>
{
if (p_jd.Maximum != count)
{
p_jd.Maximum = count;
}
p_jd.Value = 0;
this.l_msg.Content = "共" + count + "个文件";
}));
做了点修改,
问题找到了,发现如果断点打在BeginInvoke里面,提示就是好的,在外面就提示报错;另外,刷新也好了,这个比较奇怪,之前是不刷新,估计还是我其他代码里有问题,后来给改掉了.
还是十分感谢
this.Dispatcher.BeginInvoke(new Action(() =>
{
btn_out.IsEnabled = true;
}));
这段代码,反而执行没问题