-1

我正在运行一个控制台应用程序,该应用程序启动一个我想隐藏的表单,但它保持活动状态,以便它的作用(在按键上启动 .exe)继续工作。

这是我的代码不起作用:

Form1 f1 = new Form1();
f1.Show();
foreach (Form f in Application.OpenForms)
{
    if (f.Name == "Form1") 
        f.Hide();       
        //f.visible = false;
}

并尝试在 Form_load 上设置隐藏或可见也不起作用......

有任何想法吗 ?

4

2 回答 2

3

我认为您正在尝试WinForms不正确地使用。它不是金锤

这种反模式会导致对首选工具或概念的误用。开发人员和管理人员对现有方法感到满意,不愿意学习和应用更适合的方法。

金锤

WinForms不是为了在窗口不活动时接收键盘输入而设计的(我认为这是有充分理由的)。

你应该研究的是一个Global Keyboard Hook.

于 2013-04-24T14:23:32.117 回答
0

this did it, hides form well and stays active.

this.WindowState=FormWindowState.Minimized; this.ShowInTaskbar = false

于 2013-04-26T15:07:46.113 回答