c# - 当应用程序运行时,如何移动到下一行代码?
问题描述
我有应用程序 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 中的逻辑在程序打开时运行。那可能吗?
解决方案
但是,很难准确地确定您想要实现的目标。
一旦你的 WinForms 应用程序启动,它会将控制权交给 Form1,直到它完成它的工作,然后它会返回到你的 writeline 语句。您应该从 Form1 或其他由 Form1 触发的方法中调用 realMethod()。
或者
在包含您要执行的代码的这一行中加载另一个表单而不是 Form1。
System.Windows.Forms.Application.Run(new Form1());
推荐阅读
- javascript - Next.js 清除查询参数
- oracle - 警告:使用编译错误创建触发器
- angular - ngOnDestroy 中的 RxJS“取消订阅”方法没有足够快地处理资源
- java - 如何确定一个数字是否是二进制的并且只有一个正则表达式有偶数个零?
- google-sheets - Query formula not displaying results that start with (') leading apostrophe strings
- java - 不可转换类型:android.view.View 到 androidtutorial.project.nightclock.Classes.TextClock
- amazon-quicksight - QuickSight 字符串到月份名称
- java - 列表
JUnit - php - 使用正则表达式在 ldap 的答案中提取一个值
- drupal - Robotstxt 显示服务不可用