【发布时间】: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 运行时它运行良好,但是当我关闭应用程序时,我得到了错误。
-
更新:根据您的问题,我能够解决问题。问题已解决,因为我的方法多次调用应用程序。我添加了逻辑,所以它只执行一次。谢谢!