制作透明窗体
在这个窗体中,我们将实现两种动画方式
第一、利用HScrolBar控件控制窗体的Opacity来实现窗体渐显渐隐
第二、通过Timer控件控制窗体的Opacity来实现窗体渐显渐隐
窗体视图
创建两个窗体Form1,Form2,并在Form1中添加HScrolBar控件
实现NO.1:
在HScrolBar控件的Scrol事件中编写代码
- //声明变量x,接收控件HScrolBar的Value值
- double x = Conver.toDouble(this.hscrolbar1.Value);
- //将x的值换成百分比赋值给窗体的Opacity属性
- this.Opacity = x / 100;
实现NO.2:
在“渐显”按钮下编写代码
- //实例化Form2窗体,将其实例的Text属性赋值,然后显示
- Form2 form2 = new Form2();
- form2.Text = "渐显";
- form2.Show();
回到窗体Form2
添加两个Timer控件
timer1,timer2
在timer1的Tick事件中,编写代码,以实现渐隐
- this.Opacity = this.Opacity -0.1;
- if(this.Opacity < 0.1)
- {
- this.timer1.Enabled = false;
- }
在timer2的Tick事件中编写一下代码,实现渐显
- this.Opacity = this.Opacity + 0.1;
- if(this.Opacity == 1)
- {
- this.timer2.Enabled = false;
- }
最后在Form2窗体的加载事件下编写代码
- //获取当前窗体的Text值,若为“渐显”,则启动Timer2,否则
- //启动Timer1
- switch(this.Text)
- {
- case"渐显":
- this.Oacity = 0;
- this.timer2.Enabled = true;
- this.timer1.Enabled = false;
- break;
- case"渐隐":
- this.Opacity = 1;
- this.timer1.Enabled = true;
- this.timer2.Enabled = false;
- break;
- }
同样,点击渐隐按钮,实例化Form2,将其实例化对象的Text值赋值为"渐隐",就可以了··
各位童鞋们,试试看吧···