C 隱藏主視窗的方法

2021-05-23 12:26:56 字數 1175 閱讀 8130

要求在程式啟動的時候主視窗隱藏,只在系統托盤裡顯示乙個圖示。一直以來採用的方法都是設定視窗的showintaskbar=false, windowstate=minimized。但是偶然發現儘管這樣的方法可以使主視窗隱藏不見,但是在用alt+tab的時候卻可以看見這個程式的圖示並把這個視窗顯示出來。因此這種方法其實並不能滿足要求。

方法一: 重寫setvisiblecore方法

protected override void setvisiblecore(bool )

方法二: 不建立主視窗,直接建立notifyicon和contextmenu元件

這種方法比較麻煩,很多**都必須手工寫

system.resources.resourcemanager resources =

new system.resources.resourcemanager("myresource",  system.reflection.assembly.getexecutingassembly());

notifyicon ni = new notifyicon();

ni.balloontipicon = system.windows.forms.tooltipicon.warning;

ni.balloontiptext = "test!";

ni.balloontiptitle = "test.";

//ni.contextmenustrip = contextmenu;

ni.icon = ((system.drawing.icon)(resources.getobject("ni.icon")));

ni.text = "test";

ni.visible = true;

ni.mouseclick += delegate(object sender, mouseeventargs e)

;方法三:前面兩種方法都有乙個問題,主視窗不能再顯示出來。現在這種方法就沒有這個問題了

private bool windowcreate=true;

...protected override void onactivated(eventargs e)

base.onactivated(e);

}private void notifyicon1_doubleclick(object sender, eventargs e)

else

C 隱藏視窗的幾種方法

要求在程式啟動的時候主視窗隱藏,只在系統托盤裡顯示乙個圖示。一直以來採用的方法都是設定視窗的showintaskbar false,windowstate minimized。但是偶然發現儘管這樣的方法可以使主視窗隱藏不見,但是在用alt tab的時候卻可以看見這個程式的圖示並把這個視窗顯示出來。因...

隱藏DOS視窗 的方法

隱藏dos視窗 隱藏批處理視窗,隱藏命令列 的方法 網上有些別的方法比如指令碼什麼的,太麻煩了,就是想隱藏視窗,怎麼辦簡單?使用只有1k的第三方工具。hidecon 是加在批處理內第一行的。hideexec 則相當於是個外殼,用來啟動dos命令的。例子 hidecon用法.bat echo off ...

C 登入視窗與主視窗

程式入口 using system using system.collections.generic using system.windows.forms namespace huiyi 主視窗的 using system using system.collections.generic using...