首页 > 解决方案 > 当应用程序运行时,如何移动到下一行代码?

问题描述

我有应用程序 Form1 被调用以运行,然后是打印命令。一旦应用程序运行,代码似乎会暂停。

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

在上述情况下,“测试”仅在我关闭 Form1 后才被写入。

如何使它在 Form1 应用程序打开时写入它?换句话说,运行应用程序并继续执行代码。

更新:真正的逻辑存在于另一个类的另一个方法中。

class otherClass
{
        protected override void realMethod()
        {   

            var myForm = new Program();
            myForm.Main();

           //full logic to run while program is running
}

我希望 realMethod 中的逻辑在程序打开时运行。那可能吗?

标签: c#windowswinformsprinting

解决方案


但是,很难准确地确定您想要实现的目标。

一旦你的 WinForms 应用程序启动,它会将控制权交给 Form1,直到它完成它的工作,然后它会返回到你的 writeline 语句。您应该从 Form1 或其他由 Form1 触发的方法中调用 realMethod()。

或者

在包含您要执行的代码的这一行中加载另一个表单而不是 Form1。

System.Windows.Forms.Application.Run(new Form1());

推荐阅读