如何在winforms应用程序启动时运行两个表单?

Posted

技术标签:

【中文标题】如何在winforms应用程序启动时运行两个表单?【英文标题】:How to run two forms at startup in winforms application? 【发布时间】:2011-01-16 06:23:42 【问题描述】:

让我们考虑一下这种情况:一个新创建的 windows 窗体应用程序,我在其中创建了一个除了原始 Form1 之外的 Form2。

第一个问题: 我希望这两种形式都在启动时出现,所以我基本上想添加 Application.Run(new Form2());在 Form1 的类似命令之后的 main 中,但由于我读到我不能使用多个线程来运行这两个表单,我该怎么做?

第二个问题: 我如何从外部类甚至主类访问表单方法,因为即使我创建了一个表单实例,我似乎也无法直接访问它们。

第三个问题: 我需要在表单中显示消息缓冲区,通常我会使用一个简单的文本框,但问题是我需要在所有单独的消息中添加类似标记为已读的内容。关于如何做到这一点的任何线索?

【问题讨论】:

每个话题只问一个问题。 【参考方案1】:

1:查看ApplicationContext class。

2:这些方法需要公开,但在这里要小心,因为您将开始遇到tight coupling 的问题。对于一个简单的实现,您需要传递对调用对象的引用(考虑研究观察者模式)。

3:查看DataGridView。

【讨论】:

以上是关于如何在winforms应用程序启动时运行两个表单?的主要内容,如果未能解决你的问题,请参考以下文章

WinForms 应用程序表单在播放音频时“晃动”

是否可以在运行时在不同的 Winform 项目上使用不同的配置文件?

已发布的Winform程序 如何保证只启动一个客户端?

由任务计划程序启动时隐藏 C# winform 应用程序窗口

C# dll里main函数如何运行

重命名 WinForms 表单的标题