zoukankan      html  css  js  c++  java
  • C#中实现Form的Minimize、Maximize、Close按钮及任务栏图标

          这是第一次写博客,心里还有点紧张,不知道该写什么,仔细回想了一下最近自己看的东西,发现自己前一段时间看的C#实现Form的Minimize、Maximize、Close按钮的内容记得还比较清楚,所以就赶紧记录下来。

         在C#.net中Form对象有一个WindowState属性,该属性有三个值,分别是FormWindowState.Minimized、FormWindowState.Maximized、FormWindowState.Normal,这三个值分别代表了Form当前属于最小化、最大化、正常状态,可以用如下代码设置窗体的状态:

    Change Form State
    this.WindowState=FormWindowState.Minimized;//将窗体最小化
    this.WindowState=FormWindowState.Maximized;//将窗体最大化
    this.WindowState=FormWindowState.Normal;//将窗体设为正常大小


       当然在设置窗体状态之前要判断一下当前窗体的状态了,不然容易出错。可以按照如下方法判断Form状态:

      

    Judge Form State
    //将窗体从当前最大化恢复到正常状态
    if(this.WindowState==FormWindowState.Maximized&&this.Visible==true)
    {
    this.WindowState=FormWindowState.Normal;
    }

    Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的,若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件,在使窗体最小化的代码中需要做如下修改:

    if(this.WindowState==FormWindowState.Normal&&this.Visible==true)

    {

      this.notifyIcon1.Visible=true;//在通知区显示Form的Icon

      this.WindowState=FormWindowState.Minimized;

      this.Visible=false;

      this.ShowInTaskbar=false;//使Form不在任务栏上显示

    }

    当然要是Form能够复原,就必须要给notifyIcon1添加一些事件,可以给this.notifyIcon1.MouseDoubleClick()添加如下代码

    private void notifyIcon1_MouseDoubleClick(object sender,MouseEventArgs e)

    {

      if(this.WindowState==FormWindowState.Minimized&&this.Visible==false)

    {

      this.WindowState=FormWindowState.Normal;

      this.Visible=true;

      this.ShowInTaskbar=true;

      this.notifyIcon1.Visible=false;

    }

    }

    这样双击通知区的Form的Icon时,Form就可以恢复正常了。

    这里要注意,需要给notifyIcon1的Icon属性设置一张图片,因为Icon默认的是无图片,这样你在通知区就发现不了Form的Icon了。

     

    第一次写博客,要是有什么错误,还望不吝赐教!

  • 相关阅读:
    [Redis-CentOS7]Redis设置连接密码(九)
    [Redis-CentOS7]Redis数据持久化(八)
    PAT Advanced 1101 Quick Sort (25分)
    PAT Advanced 1043 Is It a Binary Search Tree (25分)
    HTTP协议
    PAT Advanced 1031 Hello World for U (20分)
    自然码双拼快速记忆方案
    macOS 原生输入法设置自然码
    PAT Advanced 1086 Tree Traversals Again (25分)
    PAT Advanced 1050 String Subtraction (20分)
  • 原文地址:https://www.cnblogs.com/warm/p/2369128.html
Copyright © 2011-2022 走看看