窗口淡入

private void button4_Click(object sender, EventArgs e)
{
animateForm = new Form2();
WindowsEffects.AnimateWindow(animateForm.Handle, 3000, WindowsEffects.AW_BLEND);
}
窗口淡出

private void button5_Click(object sender, EventArgs e)
{
animateForm = new Form2();
animateForm.Show();
WindowsEffects.AnimateWindow(animateForm.Handle, 3000, WindowsEffects.AW_HIDE ^ WindowsEffects.AW_BLEND);
animateForm.Close();
}
关于函数的一些介绍
AnimateWindow函数User32.dll中,最低支持到 Windows 2000
参考:https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-animatewindow
BOOL AnimateWindow( HWND hWnd, // 用于动画的窗口的句柄。调用线程必须拥有此窗口。 DWORD dwTime, // 播放动画所花费的时间,以毫秒为单位。通常,一个动画的播放时间为200毫秒。 DWORD dwFlags // 动画的类型。此参数可以是以下值中的一个或多个。注意,默认情况下,这些标志在显示窗口时生效。要在隐藏窗口时生效,请使用AW_HIDE和带有适当标志的逻辑或操作符。 );
dwFlags参数值列表
| 名称 | 值 | 含义 |
| AW_ACTIVATE | 0x00020000 | 激活窗口。不要在AW_HIDE中使用此值。 |
| AW_BLEND | 0x00080000 | 使用淡入效果。此标志只能在hwnd是顶级窗口时使用。 |
| AW_CENTER | 0x00000010 | 如果使用了AW_HIDE,则使窗口看起来向内折叠;如果没有使用AW_HIDE,则使窗口向外展开。不同的方向标志没有效果。 |
| AW_HIDE | 0x00010000 | 隐藏窗口。默认情况下,窗口会显示出来。 |
| AW_HOR_POSITIVE | 0x00000001 | 使窗口从左到右产生动画效果。此标志可用于滚动或幻灯片动画。当与AW_CENTER或AW_BLEND一起使用时,它会被忽略。 |
| AW_HOR_NEGATIVE | 0x00000002 | 从右到左使窗口具有动画效果。此标志可用于滚动或幻灯片动画。当与AW_CENTER或AW_BLEND一起使用时,它会被忽略。 |
| AW_SLIDE | 0x00040000 | 使用幻灯片动画。默认情况下,使用滚动动画。当与AW_CENTER一起使用时,这个标志将被忽略。 |
| AW_VER_POSITIVE | 0x00000004 | 从上到下动画窗口。此标志可用于滚动或幻灯片动画。当与AW_CENTER或AW_BLEND一起使用时,它会被忽略。 |
| AW_VER_NEGATIVE | 0x00000008 | 从下到上使窗口具有动画效果。此标志可用于滚动或幻灯片动画。当与AW_CENTER或AW_BLEND一起使用时,它会被忽略。 |










