winform 怎样让执行拖放的时候窗体不会出现"假死"?

zfp147 2013-03-27 03:31:06
我使用DoDragDrop方法拖放把文件复制到别的地方,可是复制文件这个时间很长,这时窗口会出现假死,等到拖放完成之后才会恢复....
private void dgResource_MouseDown(object sender, MouseEventArgs e)
{
try
{
DoDragDrop("文件路径", DragDropEffects.Copy);
}
catch (Exception ex)
{
// MessageBox.Show(ex.ToString());
return;
}
}
...全文
269 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfp147 2013-03-27
  • 打赏
  • 举报
回复
????????
zfp147 2013-03-27
  • 打赏
  • 举报
回复
大哥,这个又怎么做"执行进度回馈"
md5e 2013-03-27
  • 打赏
  • 举报
回复
DoDragDrop中做执行进度回馈
zfp147 2013-03-27
  • 打赏
  • 举报
回复
请指教,怎么解决
zfp147 2013-03-27
  • 打赏
  • 举报
回复
这样写以后DoDragDrop("文件路径", DragDropEffects.Copy);执行不到,拖拽后没有反应
md5e 2013-03-27
  • 打赏
  • 举报
回复
"文件路径"用public string
md5e 2013-03-27
  • 打赏
  • 举报
回复
Thread _thread = new Thread(new ThreadStart(_DoDragDrop)); _thread.SetApartmentState(ApartmentState.STA); _thread.Start(); void _DoDragDrop(){ DoDragDrop("文件路径", DragDropEffects.Copy); }
zfp147 2013-03-27
  • 打赏
  • 举报
回复
回复:liuchaolin,怎么用线程执行: void test(object obj) { DoDragDrop(obj.ToString(), DragDropEffects.Copy); } private void dgResource_MouseDown(object sender, MouseEventArgs e) { try { Thread t = new Thread(new ParameterizedThreadStart(test)); t.IsBackground = true; t.Start("路径"); } catch (Exception ex) { // MessageBox.Show(ex.ToString()); return; } } 这样吗?不管用
md5e 2013-03-27
  • 打赏
  • 举报
回复
用线程来执行

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧