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);   //结束窗体动画
            }
    
  • 相关阅读:
    [LeetCode 题解]: Remove Duplicates from Sorted List
    [LeetCode 题解]: Merge k Sorted Lists
    [LeetCode 题解]: Insertion Sort List
    [LeetCode 题解]:Candy
    求任意多边形面积 python实现
    C++飞机大战
    version robot
    python一段代码 感受一下
    微机原理上机第四次实验内容
    初步的百度爬虫
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10121833.html
Copyright © 2011-2022 走看看