永发信息网

c#怎么等代码执行完毕才进行?

答案:2  悬赏:30  手机版
解决时间 2021-03-10 13:37
  • 提问者网友:温柔港
  • 2021-03-09 23:42
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
string str1 = new FileInfo(dataGridView1.Rows[i].Cells[0].Value.ToString()).DirectoryName;
string str3 = "F:\\";
CopyDirectory(dataGridView1.Rows[i].Cells[0].Value.ToString(), str3 + bflj + str1.Replace(str1[1].ToString(), ""));
dataGridView1.Rows[i].Cells[1].Value = "已完成";
}
我执行这段代码复制东西到指定位置时怎么样才能正常使用?
我现在复制时就是会卡住,复制完成后就不卡的,同时dataGridView1.Rows[i].Cells[1].Value = "已完成";这行代码的效果才出现
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-03-10 00:24
在这个循环里最后面加一行Application.DoEvents();形如这样的

dataGridView1.Rows[i].Cells[1].Value = "已完成";
Application.DoEvents();
}

另外,如果执行时间较长,你最好用一个进度条之类的显示一下当前的进度。
全部回答
  • 1楼网友:摆渡翁
  • 2021-03-10 01:04
application.exit方法调用时会产生appexitevent(名字忘了,可以在program.cs的父类中找),这说明什么呢。。。这说明application.exit()后,程序还是有消息循环的,直到退出事件处理完成才会将应用程序退出,而environment.exit(0)则是直接断掉线程,类似任务管理器的结束进程。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯