【问题标题】:Winform not visible while debugging调试时 Winform 不可见
【发布时间】:2013-03-24 22:47:10
【问题描述】:

我有一个应用程序可以在某些方面处理一些文件,并且有进度条和文本框。当我调试(VS2010)时,应用程序窗口不可见,但应用程序完成了它应该做的所有工作。如果我想创建不可见的 winform 应用程序,我可能不得不绞尽脑汁才能做到这一点。现在我有一个我不想要的。那个怎么样?任何想法如何解决这个问题?

【问题讨论】:

  • 最有可能的是,您在表单初始化中“完成工作”,与 GUI 在同一个线程上。工作完成后表单会出现,除非应用程序自动退出。
  • @John Willemse 这正是我所做的。我可以在单个块中从初始化中删除所有工作吗?
  • 您最好在用户交互后开始工作,例如单击按钮。然后,您可以将“工作”代码放入您可以调用的方法中。然后该方法应在单独的线程中完成工作,以便可以根据需要更新进度条。研究BackGroundWorker类以获取更多信息。

标签: winforms visual-studio-2010 debugging


【解决方案1】:

OP 正在表单的初始化阶段执行工作。在该阶段,表单尚未显示,直到所有工作完成后才会显示。

解决方案是将工作代码从表单的初始化方法移到一个单独的方法中,该方法仅在表单显示后调用。此方法应在单独的线程上执行工作,以确保 GUI 保持响应,可以取消进程并返回报告以更新进度条。

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 2016-11-12
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多