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 IconShow { public partial class Form1 : Form { [DllImport("user32")] private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags); const int AW_HOR_POSITIVE = 0x0001;//从左到右打开窗口 const int AW_HOR_NEGATIVE = 0x0002;//从右到左打开窗口 const int AW_VER_POSITIVE = 0x0004;//从上到下打开窗口 const int AW_VER_NEGATIVE = 0x0008;//从下到上打开窗口 const int AW_CENTER = 0x0010;//看不出任何效果 const int AW_HIDE = 0x10000;//在窗体卸载时若想使用本函数就得加上此常量 const int AW_ACTIVATE = 0x20000;//在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量 const int AW_SLIDE = 0x40000;//看不出任何效果 const int AW_BLEND = 0x80000;//淡入淡出效果 public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); AnimateWindow(form2.Handle, 1000, AW_VER_NEGATIVE | AW_SLIDE|AW_ACTIVATE );//从下到上且不占其它程序焦点 form2.Show(); } } }
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; using System.Threading; namespace IconShow { public partial class Form2 : Form { [DllImport("user32")] private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags); const int AW_HOR_POSITIVE = 0x0001;//从左到右打开窗口 const int AW_HOR_NEGATIVE = 0x0002;//从右到左打开窗口 const int AW_VER_POSITIVE = 0x0004;//从上到下打开窗口 const int AW_VER_NEGATIVE = 0x0008;//从下到上打开窗口 const int AW_CENTER = 0x0010;//看不出任何效果 const int AW_HIDE = 0x10000;//在窗体卸载时若想使用本函数就得加上此常量 const int AW_ACTIVATE = 0x20000;//在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量 const int AW_SLIDE = 0x40000;//看不出任何效果 const int AW_BLEND = 0x80000;//淡入淡出效果 public Form2() { InitializeComponent(); int x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - this.Width; int y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - this.Height; this.SetDesktopLocation(x, y); } private void Form2_Load(object sender, EventArgs e) { Thread.Sleep(5000); AnimateWindow(this.Handle, 1000, AW_BLEND | AW_HIDE);//设定窗口关闭消失时的效果为淡出 //AnimateWindow(this.Handle, 1000, AW_VER_POSITIVE | AW_HIDE | AW_SLIDE | AW_ACTIVATE);//设定窗口关闭消失时的效果为淡出 } } }