C#实现主窗体最小化后出现悬浮框及双击悬浮框恢复原窗体的方

2019-12-26 13:25:53王冬梅

易采站长站为您分析C#实现主窗体最小化后出现悬浮框及双击悬浮框恢复原窗体的方法,涉及C#窗体及鼠标事件响应的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#实现主窗体最小化后出现悬浮框及双击悬浮框恢复原窗体的方法。。具体如下:

这里演示C#实现主窗体最小化后出现悬浮框,双击悬浮框恢复原窗体的效果。类似于360桌面。

主窗体:frmMain

 

 
  1. using System;  using System.Collections.Generic; 
  2. using System.ComponentModel;  using System.Data; 
  3. using System.Drawing;  using System.Linq; 
  4. using System.Text;  using System.Windows.Forms; 
  5. using System.Threading;  namespace AppDemo 
  6. {  public partial class frmMain : Form 
  7. {  public frmMain() 
  8. {  InitializeComponent(); 
  9. }  /// <summary> 
  10. /// 窗体初始状态  /// </summary> 
  11. private FormWindowState fwsPrevious;  /// <summary> 
  12. /// 悬浮窗体  /// </summary> 
  13. private frmTopMost myTopMost;  /// <summary> 
  14. /// 主窗体的Load事件  /// </summary> 
  15. /// <param name="sender"></param>  /// <param name="e"></param> 
  16. private void frmMain_Load(object sender, EventArgs e)  { 
  17. fwsPrevious = this.WindowState;  myTopMost = new frmTopMost(this); 
  18. }  /// <summary> 
  19. /// 主窗体的SizeChanged事件  /// </summary> 
  20. /// <param name="sender"></param>  /// <param name="e"></param> 
  21. private void frmMain_SizeChanged(object sender, EventArgs e)  { 
  22. if (this.WindowState == FormWindowState.Minimized)  { 
  23. myTopMost.Show();  this.ShowInTaskbar = false; 
  24. }  else if (this.WindowState != fwsPrevious)