標籤:too close page nlp msi else pps new ase
一 最大化
二 最小化
三 關閉
四 點擊工作列隱藏顯示
五 點擊滑鼠左鍵移動表單
#region UI設定 最大化、最小化、關閉、滑鼠移動視窗、點擊工作列切換視窗 this.pnlMin.MouseHover += new EventHandler(pnlMin_MouseMove);//最小化按鈕的滑鼠經過樣式改變事件 this.pnlMin.MouseLeave += new EventHandler(pnlMin_MouseLeave);//最小化按鈕的滑鼠離開樣式改變事件 this.pnlMin.Click += new EventHandler(pnlMin_Click);//最小化按鈕單擊事件 this.pnlMax.MouseHover += new EventHandler(pnlMax_MouseMove);//最小化按鈕的滑鼠經過樣式改變事件 this.pnlMax.MouseLeave += new EventHandler(pnlMax_MouseLeave);//最小化按鈕的滑鼠離開樣式改變事件 this.pnlMax.Click += new EventHandler(pnlMax_Click);//最小化按鈕單擊事件 this.pnlClose.MouseHover += new EventHandler(pnlClose_MouseMove);//滑鼠經過關閉按鈕時的樣式改變 this.pnlClose.MouseLeave += new EventHandler(pnlClose_MouseLeave);//滑鼠離開關閉按鈕事件 this.pnlClose.Click += new EventHandler(pnlClose_Click);//關閉按鈕的單擊事件 this.pnlHead1.MouseDown += new MouseEventHandler(sysSet_MouseDown); //滑鼠移動表單位置 this.pnlHead1.MouseMove += new MouseEventHandler(sysSet_MouseMove);//滑鼠移動表單位置 this.pnlHead1.MouseUp += new MouseEventHandler(sysSet_MouseUp);//滑鼠移動表單位置 #endregion
#region UI設定 最大化、最小化、關閉、滑鼠移動視窗、點擊工作列切換視窗 #region 單擊工作列,最小化 protected override CreateParams CreateParams //點擊工作列實現最小化與還原 { get { const int WS_MINIMIZEBOX = 0x00020000; CreateParams cp = base.CreateParams; cp.Style = cp.Style | WS_MINIMIZEBOX; // 允許最小化操作 return cp; } } #endregion #region 最小化按鈕 //最小化按鈕的滑鼠經過改變樣式事件 private void pnlMin_MouseMove(object sender, EventArgs e) { tip.SetToolTip(this.pnlMin, "最小化"); this.pnlMin.BackColor = Color.FromArgb(30, 255, 255, 255); } //最小化按鈕的滑鼠離開改變樣式事件 private void pnlMin_MouseLeave(object sender, EventArgs e) { this.pnlMin.BackColor = Color.Transparent; } //最小化按鈕的單擊事件 private void pnlMin_Click(object sender, EventArgs e) { if (WindowState != FormWindowState.Minimized) { WindowState = FormWindowState.Minimized; } } #endregion #region 最大化 private void pnlMax_MouseMove(object sender, EventArgs e) { tip.SetToolTip(this.pnlMax, "最大化"); if (WindowState == FormWindowState.Maximized) { tip.SetToolTip(this.pnlMax, "恢複"); } this.pnlMax.BackColor = Color.FromArgb(30, 0, 0, 0); } //最小化按鈕的滑鼠離開改變樣式事件 private void pnlMax_MouseLeave(object sender, EventArgs e) { this.pnlMax.BackColor = Color.Transparent; } //最小化按鈕的單擊事件 private void pnlMax_Click(object sender, EventArgs e) { int h = Screen.PrimaryScreen.WorkingArea.Height; int w = Screen.PrimaryScreen.WorkingArea.Width; if (WindowState == FormWindowState.Normal) { //this.MaximumSize = new Size(w, h);//設定表單最大化為滿屏 this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); this.pnlMax.BackgroundImage = global::Cnwin.Apps.Properties.Resources.max; //this.tbCnt.Dock = DockStyle.Right; //this.pnlCnt.Height = h - 10; //this.pnlCnt.Width = w - 2; //this.sptCnt.Width = 260; this.pnlMax.Invalidate(); WindowState = FormWindowState.Maximized; //PnlRslt.Left = (w / 2); //sptCnt.SplitterDistance = 80; //dgvRslt.Width = w - 100; } else { this.FormBorderStyle = FormBorderStyle.None; this.pnlMax.BackgroundImage = global::Cnwin.Apps.Properties.Resources.max16; //this.pnlCnt.Height = 629; //this.pnlCnt.Width = 964; this.MaximumSize = new Size(966, 630); this.pnlMax.Invalidate(); WindowState = FormWindowState.Normal; this.Height = 656; //PnlRslt.Left = 420; //sptCnt.SplitterDistance = 80; //dgvRslt.Width = 840; //dgvRslt.Height = 452; //pnlPage.Top = 508; } //int width = 0; int clmSum = this.dgvRslt.Columns.Count; ////對於DataGridView的每一個列都調整 //for (int i = 0; i < clmSum; i++) //{ // //將每一列都調整為自動適應模式 // this.dgvRslt.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells); // //記錄整個DataGridView的寬度 // width += this.dgvRslt.Columns[i].Width; //} ////判斷調整後的寬度與原來設定的寬度的關係,如果是調整後的寬度大於原來設定的寬度, ////則將DataGridView的列自動調整模式設定為顯示的列即可, ////如果是小於原來設定的寬度,將模式改為填充。 //if (width > this.dgvRslt.Size.Width) //{ // this.dgvRslt.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; //} //else //{ // //this.dgvRslt.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //} ////this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea; } #endregion #region 關閉按鈕 //滑鼠經過關閉按鈕時觸發樣式改變 private void pnlClose_MouseMove(object sender, EventArgs e) { tip.SetToolTip(this.pnlClose, "關閉"); this.pnlClose.BackColor = Color.Red; } //滑鼠離開關閉按鈕觸發樣式改變 private void pnlClose_MouseLeave(object sender, EventArgs e) { this.pnlClose.BackColor = Color.Transparent; } protected void pnlClose_Click(object sender, EventArgs e) { FrmMonitor lg = new FrmMonitor(); lg.Dispose(); Application.Exit(); } #endregion #region 滑鼠移動表單移動 //表單拖動 bool isMouseDown = false; Point cwpt = new Point(); //當前表單位置 Point cmpt = new Point(); //當前滑鼠的按下位置 private void sysSet_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { isMouseDown = true; cwpt = this.Location; cmpt = System.Windows.Forms.Control.MousePosition; } } private void sysSet_MouseUp(object sender, MouseEventArgs e) { isMouseDown = false; } private void sysSet_MouseMove(object sender, MouseEventArgs e) { int rangeX = 0, rangeY = 0; //計算當前滑鼠游標的位移,讓表單進行相同大小的位移 if (isMouseDown) { Point pt = System.Windows.Forms.Control.MousePosition; rangeX = cmpt.X - pt.X; rangeY = cmpt.Y - pt.Y; this.Location = new Point(cwpt.X - rangeX, cwpt.Y - rangeY); } } #endregion #endregion
Winform 最小化 最大化 關閉 點擊工作列隱藏顯示 點擊滑鼠左鍵移動表單