【问题标题】:Form.Show() Crashing When CalledForm.Show() 调用时崩溃
【发布时间】:2016-03-04 17:16:34
【问题描述】:

我已经让我的程序做我想做的事情,就是让屏幕闪烁白色并慢慢淡出。当我在 Visual Studio 2013 中编译和运行它时,它可以完美运行,但是当我从 .exe 所在的 bin 文件夹中运行它时,屏幕只是保持白色并且不执行任何操作然后崩溃。

这是我的代码:

public static void StartForm() {

  Form Form1 = new Form();
  Form1.FormBorderStyle = FormBorderStyle.None;
  Form1.Size = new Size(ScreenWidth, ScreenHeight);
  Form1.BackColor = Color.White;
  Form1.Show();

  for (int i = 100; i >= 0; i = i - 1) {
    Form1.Update();
    Form1.Opacity = Form1.Opacity - .01;
    System.Threading.Thread.Sleep(10);
  }
  System.Threading.Thread.Sleep(100);
  Form1.Hide();
}

【问题讨论】:

  • 没有消息泵,没有 cookie。
  • 在你的应用中加入 try catch 并检查异常信息是什么
  • 调试时的输出信息是什么?有什么例外吗?
  • 它应该总是崩溃,不透明度变得小于 0。Windows 7 有问题,read this

标签: c#


【解决方案1】:

在 for 循环中添加 Application.DoEvents 以允许处理消息。

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 2016-02-11
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    相关资源
    最近更新 更多