【问题标题】:System.Windows.Forms.Application.Run errorSystem.Windows.Forms.Application.Run 错误
【发布时间】:2020-06-08 02:53:41
【问题描述】:

我有一个应用程序正在运行,当我关闭它时,它会产生错误。

所以表单应用程序运行了

[STAThread]
public void Main()
{       
    System.Windows.Forms.Application.EnableVisualStyles();
    System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
    System.Windows.Forms.Application.Run(new Form1());  
}

当我关闭应用程序 Form1 时,我的 IDE 抛出以下错误:

SetCompatibleTextRenderingDefault must be called before the first IWin32Window object is created in the application.

如何让应用程序的其余部分运行,而不会在关闭表单后生成 SetCompatibleTextRenderingDefault 错误?

更新: 我读到这可能是因为应用程序仍在运行,(实例)

有没有类似的:

sForm.Close()

我应该用吗?

【问题讨论】:

  • 让应用程序的其余部分运行是什么意思?那是解决方案启动项目的Program.cs 文件,对吗?或者,您在其他地方有 SetCompatibleTextRenderingDefault(或 Application.Run)吗?你能展示你的解决方案的结构吗?
  • 我认为这可能是应用程序中某处的线程错误。你将不得不分享更多关于你在代码中所做的事情。您是否有任何类型的计时器或网络代码或线程?静态构造函数呢?
  • 我还是个编码新手。这是在visual stuidio中创建的,但是我已经重命名了一些方法并且不得不修改一些类修饰符以使其在具有自己的IDE的第三方应用程序中工作。当 Form1 运行时它运行良好,但是当我关闭应用程序时,我得到了错误。
  • 更新:根据您的问题,我能够解决问题。问题已解决,因为我的方法多次调用应用程序。我添加了逻辑,所以它只执行一次。谢谢!

标签: c# windows winforms


【解决方案1】:

我的方法根据事件调用自身。已加载应用程序时发生的多个事件导致了该问题。 我放置了一个简单的条件运行一次,问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2015-03-25
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多