winform 窗体程序运行时隐藏主窗口

本文介绍了一种在控制台程序中实现窗体显示与隐藏的方法,特别是如何在没有消息循环的情况下通过创建上下文来实现窗体的正确管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们再做第三类库时 用户对对我们的窗口需要通过快捷键的方式实现显示与隐藏。当我们的库被用于窗口应用程序时 我们可能通过创建窗体对象并注册快捷键 而不调用show方法 就能实现,但是但库被用于控制台程序进行启动时 问题就来了 因为控制台应用程序 没有消息循环机制 我们只能采用Application.run方法手动打开一个窗口,这样是不是就没有问题了呢 no,我们不应当直接打开开一个窗口 而是使用run方法的重载方法 运行一个上下文,具体代码如下:

internal class HideOnStartupApplicationContext : ApplicationContext
{
private Form mainFormInternal;
// 构造函数,主窗体被存储在mainFormInternal
public HideOnStartupApplicationContext( Form mainForm)
{
this.mainFormInternal = mainForm;
// 当主窗体被关闭时,退出应用程序
void mainFormInternal_Closed(object sender, EventArgs e )
{
Application.Exit(); 
}
}
//在Main中作如下修改: 
HideOnStartupApplicationContext context = new HideOnStartupApplicationContext( newForm1());
Application.Run(context );
//隐藏窗体的方法5/5: 推荐使用!!!
//在构造函数中或者直接设置form属性
this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;

转载于:https://www.cnblogs.com/nj20091571/p/3496950.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值