当我们再做第三类库时 用户对对我们的窗口需要通过快捷键的方式实现显示与隐藏。当我们的库被用于窗口应用程序时 我们可能通过创建窗体对象并注册快捷键 而不调用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;

相关文章:

  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-19
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-03-07
  • 2021-06-08
  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案