共有两个窗体,一个主窗体一个弹出窗体,主窗体代码: namespace MSN弹出窗体 { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } private void FrmMain_Load(object sender, EventArgs e) { Screen[] screens = Screen.AllScreens; Screen screen = screens[0];//获取屏幕变量 FrmPrompt form = new FrmPrompt(); form.HeightMax = 120;//窗体滚动的高度 form.WidthMax = 148;//窗体滚动的宽度 form.ScrollShow(); } } } 弹出窗体代码: namespace MSN弹出窗体 { public partial class FrmPrompt : Form { public FrmPrompt() { InitializeComponent(); } private int heightMax, widthMax; public int HeightMax { get { return heightMax; } set { heightMax = value; } } public int WidthMax { get { return widthMax; } set { widthMax = value; } } //Timer1控制窗体滚出的动画,timer2控制窗体停留时间,timer3控制窗体的滚入动画 public void ScrollShow()//设置窗体的高度为0 { this.Width = widthMax; this.Height = 0; this.Show(); this.timer1.Enabled = true; } public int StayTime = 5000; int a = 30; private void ScrollUp() { if(Height<heightMax) { Height = Height + 3; this.Location = new Point(this.Location.X, this.Location.Y - 3); } else { this.timer1.Enabled = false; this.timer2.Enabled = true; } } private void ScrollDown() { if (Height > 3) { this.Height -= 3; this.Location = new Point(this.Location.X, this.Location.Y + 3); } else { this.timer3.Enabled = false; this.Close(); } } private void timer1_Tick(object sender, EventArgs e) { ScrollUp(); } private void timer2_Tick(object sender, EventArgs e) { timer2.Enabled = false; timer3.Enabled = true; } private void timer3_Tick(object sender, EventArgs e) { ScrollDown(); } private void FrmPrompt_Load(object sender, EventArgs e) { Screen[] screens = Screen.AllScreens; Screen screen = screens[0];//获取屏幕变量 this.Location = new Point(screen.WorkingArea.Width - widthMax - 20, screen.WorkingArea.Height - 34); //WorkingArea为Windows桌面的工作区 this.timer2.Interval = StayTime; } } }