国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#隱藏主窗口的方法小結

2020-01-24 01:15:06
字體:
來源:轉載
供稿:網友

本文實例總結了C#隱藏主窗口的方法。分享給大家供大家參考,具體如下:

要求在程序啟動的時候主窗口隱藏,只在系統托盤里顯示一個圖標。一直以來采用的方法都是設置窗口的ShowInTaskBar=false, WindowState=Minimized。但是偶然發現盡管這樣的方法可以使主窗口隱藏不見,但是在用Alt+Tab的時候卻可以看見這個程序的圖標并把這個窗口顯示出來。因此這種方法其實并不能滿足要求。

方法一: 重寫setVisibleCore方法

protected override void SetVisibleCore(bool ){   base.SetVisibleCore(false);}

這個方法比較簡單,但是使用了這個方法后主窗口就再也不能被顯示出來,而且在退出程序的時候也必須調用Application.Exit方法而不是Close方法。這樣的話就要考慮一下,要把主窗口的很多功能放到其他的地方去。

方法二: 不創建主窗口,直接創建NotifyIcon和ContextMenu組件
這種方法比較麻煩,很多代碼都必須手工寫

static void Main(){  Application.EnableVisualStyles();  Application.SetCompatibleTextRenderingDefault(false);  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)  {    ni.ShowBalloonTip(0);  };  Application.Run();}

如果需要的組件太多,這個方法就很繁瑣,因此只是做為一種可行性研究。

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

private bool windowCreate=true;...protected override void OnActivated(EventArgs e){  if (windowCreate)  {    base.Visible = false;    windowCreate = false;  }  base.OnActivated(e);}private void notifyIcon1_DoubleClick(object sender, EventArgs e){  if (this.Visible == true)  {    this.Hide();    this.ShowInTaskbar = false;  }  else  {    this.Visible = true;    this.ShowInTaskbar = true;    this.WindowState = FormWindowState.Normal;    //this.Show();    this.BringToFront();  }}

更多關于C#相關內容感興趣的讀者可查看本站專題:《C#數據結構與算法教程》、《C#常見控件用法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結

希望本文所述對大家C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博爱县| 屏东市| 伊金霍洛旗| 辰溪县| 高邑县| 新昌县| 定襄县| 华蓥市| 娄烦县| 禹州市| 突泉县| 宾阳县| 宜黄县| 洮南市| 林周县| 巴青县| 西乌珠穆沁旗| 汉阴县| 临猗县| 汝州市| 天门市| 陇川县| 清涧县| 布拖县| 文山县| 社旗县| 江门市| 和龙市| 门源| 贵定县| 高唐县| 庄浪县| 垫江县| 南汇区| 福泉市| 抚宁县| 德清县| 泰和县| 肥东县| 五峰| 麦盖提县|