zoukankan      html  css  js  c++  java
  • C#窗体的最大化/最小化/还原/最小化到托盘/NotifyIcon的代码实现

    1.最小化

    WindowState = FormWindowState.Minimized;

    //最小化时隐藏窗体

    this.Visible=false;

    2.最大化

    WindowState == FormWindowState.Maximized;

    3.还原为正常

    WindowState == FormWindowState.Normal;

    4.在托盘显示

       打开 VS.net的工具箱,然后选择NotifyIcon,拖到Form上,在属性中Icon中设置图象添加一个ContextMenu,输入需要的选择项在 NotifyIcon中的ContextMenu属性中可以设置刚添加的ContextMenu 点托盘上的图标 就可以显示选择项  

    实例部分代码:

                  #region 还原窗体

                  private void normalForm()
                  {
                      //this.AutoScaleBaseSize = new System.Drawing.Size(5, 15);
                      //this.ClientSize = new System.Drawing.Size(504, 267);
                      this.Visible = true;
                      //this.WindowState=FormWindowState.Normal;
                  }
                  #endregion

               #region 最小化窗体并在托盘显示,隐藏窗体
               private void minForm()
               {
                   WindowState = FormWindowState.Minimized;
                   this.Visible = false;
                   this.notifyIconCMPC.Visible = true;
                   this.myTimer.Enabled = false;
                   //this.Hide();
                   //设置气球状工具提示显示的时间为10秒
                   this.notifyIconCMPC.ShowBalloonTip(30);
               }
               #endregion

                  #region         重写WndProc屏蔽掉关闭按钮
                  protected override void WndProc(ref Message m)
                  {
                      const int WM_SYSCOMMAND = 0x0112;
                      const int SC_CLOSE = 0xF060;
                      if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
                      {
                         this.Visible = false;
                         return;
                      }
                      base.WndProc(ref m);
                  }
                  #endregion

               private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
               {
                   if (this.WindowState == FormWindowState.Minimized || this.Visible == false)
                   {
                       this.normalForm();
                   }
                   else
                   {
                       minForm();
                   }
               }


    轉;http://hi.baidu.com/xlfj/blog/item/32d20924ed535629d5074276.html

  • 相关阅读:
    QT+Linux+FFmpeg+C/C++实现RTSP流存储为MP4视频文件
    FFmpeg接收RTSP并将H264保存为MP4
    第一次在此定义 多重定义 multiple definition of
    无法定位程序输入点_ZdaPvj于动态链接库 Qt5Core.dl Qt5Gui.dll上
    QObject::startTimer: QTimer can only be used with threads started with QThread
    ONVIF开发编译时提示stdsoap2.o中multiple definition of 'namespaces'问题的解决
    ONVIF开发(1)生成开发框架
    VUE从入门到放弃(项目全流程)————VUE
    UI库colorui的使用————小程序
    超简单详细的搭建个人网站————静态网站
  • 原文地址:https://www.cnblogs.com/scottckt/p/981108.html
Copyright © 2011-2022 走看看