C# 按钮事件问题 && FTP上传大文件长时间未响应

lujian863 2012-05-04 07:27:08
点击按钮上传文件,界面上有一个进度条图片,我想让按钮激发事件时先显示这个进度条图片,再开始上传。目前的问题是:单击按钮后,进度条图片没有显示,一直到文件上传完成后才显示。求大神指点。

源码:
private void bt_start_upload_Click(object sender, EventArgs e)
{
pic_pro.Visible = true;//显示图片控件
try
{
cf.Put(filename);//上传
lb_upload_state.Text = "上传状态:已经成功上传视频:" + fname + "!" ;
}
catch(Exception ex)
{
MessageBox.Show("错误");
return;
}
问题补充:
调试信息:
托管调试助手“ContextSwitchDeadlock”在项目中检测到故障。
其他信息: CLR 无法从 COM 上下文 0x4defe8 转换为 COM 上下文 0x4df158,这种状态已持续 60 秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作。这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积。要避免此问题,所有单线程单元(STA)线程都应使用泵式等待基元(如 CoWaitForMultipleHandles),并在运行时间很长的操作过程中定期发送消息
...全文
281 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lujian863 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

最简单的方法就是学一下 backgroundworker 控件。是傻瓜级的简单控件,可以解决这类问题。。
[/Quote]
谢谢!我明白了~~
qldsrx 2012-05-06
  • 打赏
  • 举报
回复
你需要了解多线程编程的几种方法。
烟波钓 2012-05-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
更正一下!是“组件”,但不是控件。
[/Quote]
sp大神的签名 越来越亮了
  • 打赏
  • 举报
回复
更正一下!是“组件”,但不是控件。
  • 打赏
  • 举报
回复
最简单的方法就是学一下 backgroundworker 控件。是傻瓜级的简单控件,可以解决这类问题。。
xiehuanxie 2012-05-04
  • 打赏
  • 举报
回复
cf.put()方法是异步的吗?
如果是同步的就会阻塞UI线程造成假死

111,126

社区成员

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

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

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