zoukankan      html  css  js  c++  java
  • 动画显示窗体

    实现效果:

        

    知识运用:

      API函数AnimateWindows

      [DllImportAttribute("user32.dll")]
      private static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags);

    1. hwnd: IntPtr,窗口句柄
    2. dwTime:动画的持续时间
    3. dwFlags:动画类型选项 常量值如下

      

    实现代码: 

            private const int AW_SLIDE = 0x00040000;
            private const int AW_VER_NEGATIVE = 0x00000008;
            private const int AW_HIDE = 0x00010000;
            public Form1()
            {
                InitializeComponent();
                AnimateWindow(this.Handle, 3000, AW_SLIDE + AW_VER_NEGATIVE);   //开始窗体动画
            }
            [DllImportAttribute("user32.dll")]
            private static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags);   //重写API函数用来执行窗体动画显示操作
            
            //绘制渐变背景  
            private void Form1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics;
                Color sColor = Color.Green; //颜色1,2
                Color eColor = Color.Black;
                //实例化刷子  (上色域 开始色 结束色 颜色方向)
                Brush b = new LinearGradientBrush(this.ClientRectangle,sColor,eColor,LinearGradientMode.Vertical);
                g.FillRectangle(b,this.ClientRectangle);    //进行上色
            }
    
            private void Form1_FormClosed(object sender, FormClosedEventArgs e)
            {
                AnimateWindow(this.Handle, 3000, AW_SLIDE + AW_VER_NEGATIVE+AW_HIDE);   //结束窗体动画
            }
    
  • 相关阅读:
    AutoMapper使用
    C#网络编程
    ASP.NET MVC (Razor)开发
    React的React Native
    WCF搭建
    异步编程
    Async和Await进行异步编程
    C#开发中使用配置文件
    NET转Java
    net 开源组件
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10121833.html
Copyright © 2011-2022 走看看