日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#隱藏窗口的幾種方法

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

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋三輪攪拌車等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。

c#隱藏窗口方法一: 重寫setVisibleCore方法

 
 
 
  1. protected override void SetVisibleCore(bool )
  2. {
  3.      base.SetVisibleCore(false);
  4. }

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

c#隱藏窗口方法二: 不創(chuàng)建主窗口,直接創(chuàng)建NotifyIcon和ContextMenu組件

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

 
 
 
  1. static void Main()
  2. {
  3.             Application.EnableVisualStyles();
  4.             Application.SetCompatibleTextRenderingDefault(false);
  5.             System.Resources.ResourceManager resources = 
  6.                 new System.Resources.ResourceManager("myResource", System.Reflection.Assembly.GetExecutingAssembly());
  7.             NotifyIcon ni = new NotifyIcon();
  8.             ni.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Warning;
  9.             ni.BalloonTipText = "test!";
  10.             ni.BalloonTipTitle = "test.";
  11.             //ni.ContextMenuStrip = contextMenu;
  12.             ni.Icon = ((System.Drawing.Icon)(resources.GetObject("ni.Icon")));
  13.             ni.Text = "Test";
  14.             ni.Visible = true;
  15.             ni.MouseClick += delegate(object sender, MouseEventArgs e)
  16.             {
  17.                 ni.ShowBalloonTip(0);
  18.             };
  19.             Application.Run();
  20. }

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

c#隱藏窗口方法三:前面兩種方法都有一個問題,主窗口不能再顯示出來?,F(xiàn)在這種方法就沒有這個問題了

 
 
 
  1. private bool windowCreate=true;
  2. ...
  3. protected override void OnActivated(EventArgs e) 
  4.         { 
  5.             if (windowCreate) 
  6.             { 
  7.                 base.Visible = false;
  8.                 windowCreate = false;
  9.             }
  10.             base.OnActivated(e); 
  11.         }
  12. private void notifyIcon1_DoubleClick(object sender, EventArgs e)
  13.         {
  14.             if (this.Visible == true)
  15.             {
  16.                 this.Hide();
  17.                 this.ShowInTaskbar = false;
  18.             }
  19.             else
  20.             {
  21.                 this.Visible = true;
  22.                 this.ShowInTaskbar = true;
  23.                 this.WindowState = FormWindowState.Normal;
  24.                 //this.Show();
  25.                 this.BringToFront();
  26.             }
  27.         }

分享題目:C#隱藏窗口的幾種方法
文章鏈接:http://www.dlmjj.cn/article/djeooch.html