C#---实现无边框窗体的最小化操作


 

首先,添加界面响应最小化的按钮事件:(ps:直接上网搜的图片,添加的事件)

1  private void pictureBox2_Click(object sender, EventArgs e)
2         {
3             this.WindowState = FormWindowState.Minimized;//最小化 
4 
5         }

 

 

重要部分:添加notifyIcon控件

 1 private void notifyIcon_Click(object sender, EventArgs e)
 2  { 3 4 5 if (this.WindowState != FormWindowState.Minimized) 6  { 7 this.WindowState = FormWindowState.Minimized; 8  } 9 else 10  { 11 this.WindowState = FormWindowState.Maximized; 12  } 13 14 }

 


 

 

 

在From_Load中添加事件内容:

 1  private void Login_Load(object sender, EventArgs e)
 2         {
 3             //初始化图片属性  
 4             notifyIcon.Icon = new Icon("test.ico");
 5             //初始化是不可见的  
 6             notifyIcon.Visible = false;
 7             //为notifyIcon添加Click事件  
 8             notifyIcon.Click += new System.EventHandler(this.notifyIcon_Click);
 9             //为当前窗体添加窗体形状改变响应函数  
10             this.SizeChanged += new System.EventHandler(this.Login_SizeChanged);
11         }

使用:Resize事件进行状态的判断:

 1 private void Login_Resize(object sender, EventArgs e)
 2         {
 3             //如果当前状态的状态为最小化,则显示状态栏的程序托盘  
 4             if (this.WindowState == FormWindowState.Minimized)
 5             {
 6                 
 7                 //不在Window任务栏中显示  
 8                 this.ShowInTaskbar = true;
 9                 //使图标在状态栏中显示  
10                 this.notifyIcon.Visible = true;
11             }
12         }

其他:任务栏图标的重复单击实现最小化和还原切换

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM