Csharp裡撰寫SystemTray程式時,可能會遇到執行時,在工作列或是按Alt+Tab時,表單Form還是可以被選取到,工作列不顯示,可以設定屬性ShowInTaskBar=false及WindowState=Minimized應該就可以解決了,不過按下Alt+Tab快速切換時,Form還是會被選取到的。
被選到後就一直存在著,讓人很困擾。
解決方法:只需要在表單程式宣告區加上下面程式SystemTray.Designer.cs
[DllImport("user32.dll")]
public static extern int SetWindowLong(IntPtr window, int index, int
value);
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr window, int index);
const int GWL_EXSTYLE = -20;
const int WS_EX_TOOLWINDOW = 0x00000080;
const int WS_EX_APPWINDOW = 0x00040000;
在InitializeComponent function裡加上
//Make it gone frmo the ALT+TAB
int windowStyle = GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, windowStyle | WS_EX_TOOLWINDOW);
參考資料Best way to hide a window from the Alt-Tab program switcher?
ps.在加入InitializeComponent function GUI的編輯可能無法使用,可以在開發時先mark掉,要建置時再加入就好了。
屬性部份如下圖:
我希望版大能教我android如何寫
一開始想先請版大能教我做兩個簡單的程式
對於生活上有幫助的
像是一個簡易的帳本
輸入今天為了什麼而花多少錢
而身上剩餘多少
或者是一個計算熱量的程式
輸入今天吃下的食物的熱量
如果要消耗掉這些熱量可能要運動多久
顯示出一些常見的運動每小時所消耗的熱量
真的非常希望版大能指導一下
感激不盡
@Kyan,
可以的話麻煩寫個信通知我一下 謝謝
花多少錢 而身上剩餘多少<---這有免費的open source https://launchpad.net/financisto
你可以參考~
另一個的話,可能無法指導了!真的沒什麼時間^^