透明动画窗体

制作透明窗体

在这个窗体中,我们将实现两种动画方式

第一、利用HScrolBar控件控制窗体的Opacity来实现窗体渐显渐隐

第二、通过Timer控件控制窗体的Opacity来实现窗体渐显渐隐

窗体视图

创建两个窗体Form1,Form2,并在Form1中添加HScrolBar控件

实现NO.1:

在HScrolBar控件的Scrol事件中编写代码

Code:
  1. //声明变量x,接收控件HScrolBar的Value值   
  2. double x  = Conver.toDouble(this.hscrolbar1.Value);   
  3. //将x的值换成百分比赋值给窗体的Opacity属性   
  4. this.Opacity = x / 100;  

实现NO.2:

在“渐显”按钮下编写代码

Code:
  1. //实例化Form2窗体,将其实例的Text属性赋值,然后显示   
  2. Form2  form2 = new Form2();   
  3. form2.Text = "渐显";   
  4. form2.Show();  

回到窗体Form2

添加两个Timer控件

timer1,timer2

在timer1的Tick事件中,编写代码,以实现渐隐

Code:
  1. this.Opacity = this.Opacity -0.1;   
  2. if(this.Opacity < 0.1)   
  3. {   
  4. this.timer1.Enabled = false;   
  5. }  

在timer2的Tick事件中编写一下代码,实现渐显

Code:
  1. this.Opacity = this.Opacity + 0.1;   
  2. if(this.Opacity == 1)   
  3. {   
  4.      this.timer2.Enabled = false;   
  5. }  

最后在Form2窗体的加载事件下编写代码

Code:
  1. //获取当前窗体的Text值,若为“渐显”,则启动Timer2,否则   
  2. //启动Timer1   
  3. switch(this.Text)   
  4. {   
  5.    case"渐显":   
  6.    this.Oacity = 0;   
  7.    this.timer2.Enabled = true;   
  8.    this.timer1.Enabled = false;   
  9.    break;   
  10.    case"渐隐":   
  11.    this.Opacity = 1;   
  12.    this.timer1.Enabled = true;   
  13.    this.timer2.Enabled = false;   
  14.    break;   
  15. }  

同样,点击渐隐按钮,实例化Form2,将其实例化对象的Text值赋值为"渐隐",就可以了··

各位童鞋们,试试看吧···

你可能感兴趣的:(timer)