zoukankan      html  css  js  c++  java
  • 为窗体添加 "最大化","最小化","还原"等 事件

                     为窗体添加 "最大化","最小化","还原"等 事件
                                                                                 电子科技大学软件学院03级02班 周银辉

         在.Net3.0以前的版本中(Form类)都没有与窗口最大化、最小化等相关的事件, 这让人很郁闷. ( .Net3.0的Window类中添加了该事件"StateChanged "). 这里来重写Form类以便添加这几个事件.

    1, 参数 WindowStateChangedEventArgs
    /// <summary>
        
    /// 包含窗口状态变化时的相关数据
        
    /// </summary>

        public class WindowStateChangedEventArgs : EventArgs
        
    {
            
    private readonly FormWindowState oldState;
            
    private readonly FormWindowState newState;

            
    public FormWindowState OldState
            
    {
                
    get
                
    {
                    
    return oldState;
                }

            }



            
    public FormWindowState NewState
            
    {
                
    get
                
    {
                    
    return newState;
                }

            }


            
    public WindowStateChangedEventArgs(FormWindowState oldState, FormWindowState newState)
            
    {
                
    this.oldState = oldState;
                
    this.newState = newState;
            }



        }

    2, 继承Form类并添加事件WindowStateChanged
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;

    namespace MDIHelper
    {
        
    public partial class CustomForm : Form
        
    {
            
    //记录状态变化之前的状态
            private FormWindowState preWindowState = FormWindowState.Normal;

            
    public CustomForm()
            
    {
                InitializeComponent();
            }


            
    事件


            
    重写的方法
        }

    }

    其中最重要的部分是 protected override void WndProc(ref Message m) , 它捕获了发给窗体的消息, 关于消息的常量值可以在winuser.h中找到,关于消息的具体含义可以在WindowsSDK中找到.
    更多的, 你可以利用protected override void WndProc(ref Message m) 创建更多事件.
  • 相关阅读:
    黄聪:PHP获取MAC地址(转)
    黄聪:HTC同步出现太多联系人删除项解决方法
    黄聪:WordPress Cron 定时任务(转)
    黄聪:wordpress后台发布文章,自定义栏目和字段
    黄聪:如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能
    黄聪:获取搜索引擎来源访客的搜索关键词
    黄聪:用php判断当前用户访问网站是否为手机登录
    黄聪:php计算获取页面执行时间
    黄聪:抓取网页链接的php类:snoop
    黄聪:解决wordpress定时发布文章失败”丢失计划任务”的插件
  • 原文地址:https://www.cnblogs.com/zhouyinhui/p/619175.html
Copyright © 2011-2022 走看看