WINFORM-调用等待窗口及淡出效果
1.创建类如下 
public class StartForm { Form f = new Form(); //实例化窗体 int iCount = 1; // 初始值 int CountMax=100; //默认值 string imgpath = "loading.gif"; //图片路径 /// <summary> /// 默认时钟运行最大值100 /// </summary> public void FormStart() { f.FormBorderStyle = FormBorderStyle.None;//去掉外框 f.StartPosition = FormStartPosition.CenterParent;//屏幕中央 PictureBox pb = new PictureBox(); //实例化PictureBox控件 pb.Image = Image.FromFile(imgpath); //给PictureBox添加图片 pb.SizeMode = PictureBoxSizeMode.AutoSize; //PictureBox容器大小等于图片大小 f.Size = pb.Size; //自动适应图片大小 f.Controls.Add(pb); //窗体上添加PictureBox控件 pb.Dock = DockStyle.Fill; //PictureBox填充整个窗体 RegeistTimer(); //运行时钟 f.ShowDialog(); //显示窗体 } /// <summary> /// 重载,时钟运行最大值 /// </summary> /// <param name="时钟运行最大值"></param> public void FormStart(int MaxNum) { f.FormBorderStyle = FormBorderStyle.None;//去掉外框 f.StartPosition = FormStartPosition.CenterParent;//屏幕中央 PictureBox pb = new PictureBox(); //实例化PictureBox控件 pb.Image = Image.FromFile(imgpath); //给PictureBox添加图片 pb.SizeMode = PictureBoxSizeMode.AutoSize; //PictureBox容器大小等于图片大小 f.Size = pb.Size; //自动适应图片大小 f.Controls.Add(pb); //窗体上添加PictureBox控件 pb.Dock = DockStyle.Fill; //PictureBox填充整个窗体 CountMax = MaxNum; //时钟运行最大值 RegeistTimer(); //运行时钟 f.ShowDialog(); //显示窗体 } //注册时钟对象 public void RegeistTimer() { Timer tm = new Timer(); //实例化时钟 tm.Start(); tm.Interval = 100; tm.Tick += new EventHandler(tm_tick); //注册时钟运行事件 } //时钟运行事件 private void tm_tick(object sender, EventArgs e) { if (iCount==CountMax) { TimerEnd(); //调用结束 } iCount += CountMax/100; //时钟步长 f.Opacity = 1 - Convert.ToDouble(iCount) / CountMax; //窗体透明度减小 } //结束 private void TimerEnd() { f.Close(); return; } }
2.使用:调用类方法
StartForm sf = new StartForm(); //类实例化 sf.FormStart()或sf.FormStart(200); //调用方法
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号