就是当运行时,窗体有缓缓出现的效果
是怎么实现的呢?

解决方案 »

  1.   

    在Window的Load事件写,通过Timer控制Window.Opcity由0变化到1
      

  2.   

    改变窗体的透明度Opacity属性!!!
      

  3.   

           public const Int32 AW_HOR_POSITIVE = 0x00000001;
            public const Int32 AW_HOR_NEGATIVE = 0x00000002;
            public const Int32 AW_VER_POSITIVE = 0x00000004;
            public const Int32 AW_VER_NEGATIVE = 0x00000008;
            public const Int32 AW_CENTER = 0x00000010;
            public const Int32 AW_HIDE = 0x00010000;
            public const Int32 AW_ACTIVATE = 0x00020000;
            public const Int32 AW_SLIDE = 0x00040000;
            public const Int32 AW_BLEND = 0x00080000;        public Form1()
            {
                InitializeComponent();
                AnimateWindow(this.Handle, 300, AW_SLIDE + AW_VER_NEGATIVE);
            }
            
            [DllImportAttribute("user32.dll")]
            private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);从下往上升起~
      

  4.   


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;namespace 淡出淡入窗体
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            public class Win32
            {
                public const Int32 AW_HOR_POSITIVE = 0x00000001;    // 从左到右打开窗口
                public const Int32 AW_HOR_NEGATIVE = 0x00000002;    // 从右到左打开窗口
                public const Int32 AW_VER_POSITIVE = 0x00000004;    // 从上到下打开窗口
                public const Int32 AW_VER_NEGATIVE = 0x00000008;    // 从下到上打开窗口
                public const Int32 AW_CENTER = 0x00000010;
                public const Int32 AW_HIDE = 0x00010000;        // 隐藏
               public const Int32 AW_ACTIVATE = 0x00020000;    //在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
                public const Int32 AW_SLIDE = 0x00040000;
                public const Int32 AW_BLEND = 0x00080000;       // 淡入淡出效果
                [DllImport("user32.dll", CharSet = CharSet.Auto)]
                public static extern bool AnimateWindow(
                IntPtr hwnd,  //  handle  to  window    
                int dwTime,  //  duration  of  animation    
                int dwFlags  //  animation  type    
                );
            }        private void Form1_Load(object sender, EventArgs e)
            {
                Win32.AnimateWindow(this.Handle, 2000, Win32.AW_BLEND);
            }        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                Win32.AnimateWindow(this.Handle, 2000, Win32.AW_SLIDE | Win32.AW_HIDE | Win32.AW_BLEND);
            }
        }
    }这招最好别用,免得别人说C#程序运行得慢.