【问题标题】:Program stop at a statement (backgound.Visible=true). Why?程序在语句处停止 (backgound.Visible=true)。为什么?
【发布时间】:2010-11-11 09:29:55
【问题描述】:

这是我的程序:

{  
   statement1;  
   ...
   background.Visbile = true;
   ...
   statementx;
}

当我运行这个程序时,它停在 background.Visible=true;陈述。有人知道为什么吗?
更多信息:
背景是 TableLayoutPanel 对象。
“停止”意味着程序冻结并且不运行到下一条语句。

我不能调试这个程序,只能写日志。应用程序只是不进行下一行。

【问题讨论】:

  • 我知道英语可能不是您的第一语言,但如果我们要帮助您,您确实需要提供更多信息。
  • 请不要在询问时从源代码重新输入代码,始终复制和粘贴。您可以删除不需要的代码,但如果您重新输入,您很可能会引入错误,然后人们会尝试帮助您解决这些问题,而不是您的真正问题。
  • 假设它不是原始代码中的拼写错误,我们需要一个堆栈跟踪或其他东西来继续这里。
  • 我确信这与前面的语句以及表单上的数据绑定/控件有关。如果你想获得帮助,你应该提供更多信息,因为我刚刚创建了一个带有 TableLayoutPanel 的示例应用程序,我将它的 Visible 属性设置为 true 并且它工作正常。
  • 你说“这是我的程序”的 { } 之前是什么?

标签: c# winforms user-interface


【解决方案1】:

您的代码可能存在跨线程访问问题。您可能会抛出一个异常,但由于您没有进行调试,它可能会被其他地方的代码吞噬,并且不会显示给您,从而使您的应用程序看起来冻结。

如果您在代码中使用 Threads 或 BackgroundWorkers,则应通过检查是否为 InvokeRequired,然后调用 Invoke or BeginInvoke 来对 UI 组件执行操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-07
    • 2023-03-12
    • 2015-04-16
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2017-08-27
    • 2015-05-06
    相关资源
    最近更新 更多