当前位置: 首页 > 编程笔记 >

C#实现WinForm捕获最小化事件的方法

夏炎彬
2023-03-14
本文向大家介绍C#实现WinForm捕获最小化事件的方法,包括了C#实现WinForm捕获最小化事件的方法的使用技巧和注意事项,需要的朋友参考一下

一般来说,虽然Form类没有提供Minimize的事件,但还是可以通过重载Deactive来实现WinForm捕获最小化事件。
实现方法为:当Form失去焦点后,测试WindowState取得Form状态,若为Minimized既是最小化事件。

本例为最小化后隐藏窗口:

还有种方法更加直接,重载WndProc:

实现代码如下:

const int WM_SYSCOMMAND = 0x112;
const int SC_CLOSE = 0xF060;
const int SC_MINIMIZE = 0xF020;
const int SC_MAXIMIZE = 0xF030;
protected override void WndProc(ref Message m)
{
  if (m.Msg == WM_SYSCOMMAND)
  {
    if (m.WParam.ToInt32() == SC_MINIMIZE)
    {
      this.Visible = false;
      return;
    }
  }
  base.WndProc(ref m);
}

private void Form1_Deactivate(object sender, EventArgs e)
{
  if (this.WindowState == FormWindowState.Minimized)
 this.Visible = false;
}

希望本文所述实例对大家C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,包括了C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,主要是通过重写WndProc来实现的。分享给大家供大家参考。具体方法如下: 主要功能代码如下: 这段代码的功能主要是捕获最

  • 本文向大家介绍WinForm实现最小化到系统托盘方法实例详解,包括了WinForm实现最小化到系统托盘方法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WinForm实现最小化到系统托盘方法。分享给大家供大家参考。具体分析如下: 有个叫NotifyIcon的控件 1、建个WinForm项目,其它操作略过。 2、拉个NotifyIcon控件,将属性Visable设置成False,在

  • 本文向大家介绍C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法,包括了C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍WinForm实现移除控件某个事件的方法,包括了WinForm实现移除控件某个事件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WinForm实现移除控件某个事件的方法,供大家参考借鉴一下。具体功能代码如下: 主要功能部分代码如下: 使用代码:

  • 本文向大家介绍C# WinForm捕获未处理的异常实例解析,包括了C# WinForm捕获未处理的异常实例解析的使用技巧和注意事项,需要的朋友参考一下 本文以一个完整的实例形式讲述了C# WinForm捕获未处理的异常的方法。分享给大家供大家参考之用。具体代码如下: 本文实例配有较为详尽的注释,便于大家阅读理解。希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法,包括了C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法。分享给大家供大家参考,具体如下: winform 程序运行过程中,用户用鼠标拖动窗体大小时,如将窗体调整得极小,可能窗体上的控件就面目