|
Posted on
2007-12-01 21:07
新人~
阅读( 396)
评论()
编辑
收藏
举报
C#淡出淡入窗体
using System.Runtime.InteropServices;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
public class Win32
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) {
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
);
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) /**//*淡入窗体*/
![](/Images/OutliningIndicators/None.gif)
private void Form_Load(object sender, EventArgs e)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](/Images/OutliningIndicators/ContractedBlock.gif) {
Win32.AnimateWindow(this.Handle, 2000, Win32.AW_BLEND);
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) /**//*淡出窗体*/
![](/Images/OutliningIndicators/None.gif)
private void Form_FormClosing(object sender, FormClosingEventArgs e)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](/Images/OutliningIndicators/ContractedBlock.gif) {
Win32.AnimateWindow(this.Handle, 2000, Win32.AW_SLIDE | Win32.AW_HIDE | Win32.AW_BLEND);
}
![](/Images/OutliningIndicators/None.gif)
//------------------------------------------------
//用timer实现淡出
private void timer1_Tick(object sender, System.EventArgs e)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) {
//----淡出 interval=100
if(this.Opacity <1)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
this.Opacity =this.Opacity +0.05;
}
else
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
this.timer1.Enabled =false;
}
//----从下向上淡出 interval=6
int y = this.Location.Y;
if(y>500)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
if(y==301)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
int x = y;
}
this.Location = new Point(748,--y);
}
else
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
this.timer2.Enabled =false;
}
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
|