【问题标题】:gif stops working when other method is running c#当其他方法正在运行时,gif停止工作c#
【发布时间】:2017-07-24 19:46:11
【问题描述】:

当我的表单的登录按钮被按下时,我尝试使用一个 GIF 加载图标。我遇到的问题是,当单击登录按钮并且处理登录的方法正在运行时,GIF 停止工作。我正在尝试使用 c# 在 Windows 窗体中执行此操作

我尝试过使用与此类似的后台工作 https://www.codeproject.com/Articles/33885/Working-with-BackgroundWorker-Creating-Your-Own-Lo

但它不允许我的代码从另一个线程访问代码,任何帮助将不胜感激

【问题讨论】:

  • 您可能在与 UI 相同的线程上运行登录功能,因此 UI 阻塞。而不是在后台运行 UI(使用 backgroundworker 动画 gif)运行登录功能。

标签: c# animated-gif


【解决方案1】:

正如您在示例链接中看到的那样:

public void Start()   
{   
    Bw.RunWorkerAsync(); *// this is Async task*
    newLoading = new LoadingForm();   
    newLoading.ShowDialog();   
}

异步任务会与主线程分开运行,因此不会影响主线程中运行的 GIF 的加载。

这是类似主题的答案:Animated GIF in Windows Form while executing long process

【讨论】:

  • 谢谢你,我试过了,但我遇到了问题,因为登录方法需要访问由主线程创建的控件。我还尝试使用新线程切换它并打开一个面板,但响应相同
猜你喜欢
  • 2012-07-11
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-22
  • 1970-01-01
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多