close

image

修改Form的FormBoarderStyle屬性->None

image

  1. 完成後加入1個panel命名為panel_All
  2. panel_All的Dock屬性改成Fill
  3. 加入3個pictureBox分別命名為pictureBox_Min, pictureBox_Max和pictureBox_Close
  4. pictureBox_Min的Tag屬性值=0
  5. pictureBox_Max的Tag屬性值=1
  6. pictureBox_Close的Tag屬性值=2

image

將圖片加入資源

image

點選<加入資源>, <加入現有檔案>, 完成如下

image

--------------------------------------------------------------------------------------------------------------------------------------------

控制圖片的切換狀態

   1: #region  控制圖片的切換狀態
   2:         public void ImageSwitch(object sender, int tag, int ns)
   3:         {
   4:             PictureBox pic = (PictureBox)sender;
   5:             switch (tag)//取得標識
   6:             {
   7:                 case 0://目前為最小化按鈕
   8:                     {
   9:                         pic.Image = null;   //清空圖片
  10:                         if (ns == 0)        //滑鼠移入
  11:                             pic.Image = Properties.Resources.minimize2;
  12:                         if (ns == 1)        //滑鼠移出
  13:                             pic.Image = Properties.Resources.minimize;
  14:                         break;
  15:                     }
  16:                 case 1://最大化按鈕
  17:                     {
  18:                         pic.Image = null;
  19:                         if (ns == 0)
  20:                             pic.Image = Properties.Resources.maximum2;
  21:                         if (ns == 1)
  22:                             pic.Image = Properties.Resources.maximum;
  23:                         break;
  24:                     }
  25:                 case 2://關閉按鈕
  26:                     {
  27:                         pic.Image = null;
  28:                         if (ns == 0)
  29:                             pic.Image = Properties.Resources.close2;
  30:                         if (ns == 1)
  31:                             pic.Image = Properties.Resources.close;
  32:                         break;
  33:                     }
  34:             }
  35:         }
  36:         #endregion

設定視窗的最大化、最小化和關閉按鈕的單擊事件

   1: #region  設定視窗的最大化、最小化和關閉按鈕的單擊事件
   2:         public void FrmClickSub(Form form, int tag)
   3:         {
   4:             switch (tag)//視窗的操作樣式
   5:             {
   6:                 case 0://視窗最小化
   7:                     form.WindowState = FormWindowState.Minimized;//視窗最小化
   8:                     break;
   9:                 case 1://視窗最大化和還原的切換
  10:                     {
  11:                         if (form.WindowState == FormWindowState.Maximized)//如果視窗目前是最大化
  12:                             form.WindowState = FormWindowState.Normal;    //還原視窗大小
  13:                         else
  14:                             form.WindowState = FormWindowState.Maximized; //視窗最大化
  15:                         break;
  16:                     }
  17:                 case 2:    //關閉視窗
  18:                     form.Close();
  19:                     break;
  20:             }
  21:         }
  22:         #endregion

最大化按鈕的單擊事件

image

   1: private void pictureBox_Max_Click(object sender, EventArgs e)
   2:  {
   3:      FrmClickSub(this, Convert.ToInt16(((PictureBox)sender).Tag.ToString()));//設定滑鼠單擊時按鈕的圖片
   4:  }

最小化按鈕的單擊事件

image

   1: private void pictureBox_Min_Click(object sender, EventArgs e)
   2: {
   3:     FrmClickSub(this, Convert.ToInt16(((PictureBox)sender).Tag.ToString()));//設定滑鼠單擊時按鈕的圖片
   4: }

關閉按鈕的單擊事件

image

   1: private void pictureBox_Close_Click(object sender, EventArgs e)
   2:   {
   3:       FrmClickSub(this, Convert.ToInt16(((PictureBox)sender).Tag.ToString()));//設定滑鼠單擊時按鈕的圖片
   4:   }

最大化按鈕的MouseEnter和MouseLeave

image

MouseEnter

   1: private void pictureBox_Max_MouseEnter(object sender, EventArgs e)
   2:   {
   3:       ImageSwitch(sender, Convert.ToInt16(((PictureBox)sender).Tag.ToString()), 0);//設定滑鼠移入後按鈕的圖片
   4:   }

MouseLeave

   1: private void pictureBox_Max_MouseLeave(object sender, EventArgs e)
   2: {
   3:     ImageSwitch(sender, Convert.ToInt16(((PictureBox)sender).Tag.ToString()), 1);//設定滑鼠移出後按鈕的圖片
   4: }

編譯程式

image

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 me1237guy 的頭像
    me1237guy

    天天向上

    me1237guy 發表在 痞客邦 留言(0) 人氣()