【发布时间】:2020-06-08 04:29:31
【问题描述】:
我有一个应用程序 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 中的逻辑在程序打开时运行。这可能吗?
【问题讨论】:
-
我觉得这是一个XY问题。你到底想达到什么目的?不能把要运行的代码放到表单中吗?
-
从您之前的帖子看来,您将 WinForms 应用程序视为控制台应用程序。
Console.WriteLine("Test");当然只有在应用程序(你刚刚用Application.Run()启动的消息循环)终止时才会到达。您不能写入 Console,没有控制台,除非您创建一个。Console.WriteLine()写入 Visual Studio 中的输出面板,用于调试目的。 -
Sami 我更新了向您展示逻辑是如何运行的。
-
@jimi 对,这就是我调试的方式,这就是我发现应用程序运行时代码“暂停”的方式。我在此 OP 中添加了更多内容以进行更多说明。
-
你有一个“模态对话框”。您正在寻找的是一个“无模式对话框”。
标签: c# windows winforms printing