代码之家  ›  专栏  ›  技术社区  ›  Roland Schaer

如何强制和事件从另一个事件中解决

  •  0
  • Roland Schaer  · 技术社区  · 16 年前

    我有一个winforms应用程序(.net 3.x),它在类中运行一个方法来处理一些数据。该方法定期引发一个statusUpdate事件,其计数为已处理的项目数。我在窗体上有一个ToolStripStatusLabel,我想用Count更新它。问题是,状态标签在进程完成之前永远不会使用此计数进行更新。下面是状态更新事件处理程序的代码

    toolStripStatusLabel.Text=E.Count.ToString(); statusStrip.refresh();

    我认为问题在于刷新事件没有触发,因为处理方法是从按钮按下事件中调用的。我认为有一种方法可以强制刷新,但我不记得它是什么。

    我唯一的其他解决方案是在自己的线程中执行处理。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Roland Schaer    16 年前

    在另一个线程中找到了答案:

    设置标签后调用application.doEvents(),但您应该在单独的线程中完成所有工作,这样用户就可以关闭窗口。

    这是我在想的命令…

        2
  •  0
  •   Richard Friend    16 年前

    是否尝试对标签本身调用刷新? toolStripStatusLabel.refresh();

    推荐文章