c# - 我可以从主构造函数关闭程序吗?

标签 c# multithreading screen loading program-entry-point

您能否在构造函数完成和主窗体加载之前退出应用程序?

在启动时,我有一个在加载主窗体之前显示的加载屏幕。在构造函数完成之前从构造函数显示加载屏幕。

我通过在主窗体和退出屏幕之间使用变量来对退出屏幕执行类似的操作。如果退出屏幕返回 true,我在主窗体中有一个应用程序退出。

最后,所有线程/类/加载/程序设置应该在主构造函数中完成还是我做错了?

更新:

我的意思是在 program.cs 之后和静态 main 中

namespace app
{
 public partial class app1 : Form
 {
   public app1()
   {  
      InitializeComponent();
      // open loading screen
      // initialize vars
      // create objects
   }
 // form opens when app1() finishes
  1. app1() 是初始化所有内容的正确位置吗?
  2. 如果我尝试在 app1() 完成之前从加载屏幕发送回“关闭”消息,则它不起作用 - 即使没有打开任何内容,进程仍在运行。<

最佳答案

我发现如果我试图从主窗体构造函数中终止我的应用程序,而我仍然在另一个线程上显示初始屏幕(看起来与您正在做的相似),那么 Application.Exit () 不起作用,但 Environment.Exit(-1) 起作用。

关于c# - 我可以从主构造函数关闭程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728921/

相关文章:

html - 将网页放在所有屏幕尺寸的中心

linux - 如何连续显示文件的最后几行内容

C# Razor 重定向到 .Net Core 5 中具有自定义路由的页面

c - 数据记录应用程序、服务器组件 - 单独的线程还是单独的进程?

c# - 将点击发送到没有 InvokePattern 的 AutomationElement

java - 线程中的异常 java.lang.NullPointerException

c - windows内核编程中如何使用线程?

ionic-framework - IONIC-我无法转换 'image to base64'

c# - Get Set 的目标

c# - 理论 : C# Sockets, 通过网络发送序列化对象