2016-01-13 48 views
-1

我有Windows應用程序的形式,我需要隱藏form_Load事件Form,它應該從任務欄被隱藏,並且還從任務切換(即當我按Alt鍵 + Tab)。意味着它不會顯示在任何地方。隱藏Windows窗體(任務欄,任務切換等)

+1

如果你不想用戶與它交互,爲什麼不只是創建一個控制檯應用程序,而不是一個Windows窗體? – user1666620

+2

[啓動時隱藏表單:爲什麼不this.Hide()隱藏我的表單?](http://stackoverflow.com/questions/3769337/hiding-forms-on-startup-why-doesnt-this - 隱藏我的表格) – user1666620

回答

0

所以,你應該試試這個:

public void Form1_Load(object sender, EventArgs e) 
{ 
    ShowInTaskbar = false; 
    Hide(); 
} 

ShowInTaskbar表明你閹應該Form出現在任務欄中。

Alt鍵 + 標籤我發現this solution on StackOverflow隱藏:

protected override CreateParams CreateParams 
{ 
    get 
    { 
     var Params = base.CreateParams; 
     Params.ExStyle |= 0x80; 
     return Params; 
    } 
} 

簡單地覆蓋你的FormCreateParams財產如上圖所示。

UPDATE事件的順序打開Form時導致了能見度在Load事件後恢復的問題。所以你需要覆蓋這樣的東西:

protected override void OnShown(EventArgs e) 
{ 
    base.OnShown(e); 
    // if you still want to hide 
    Hide(); 
} 
+0

它的工作,但形式仍然顯示在主窗口。 –

+0

@vyaskarnavkumar所以@ user1666620是正確的。你的解決方案在於這個答案:http://stackoverflow.com/a/8549250/5528593一些框架代碼試圖讓你「可見」,所以這個重寫的'OnVisibleChanged'上面的代碼將工作。 –