您的位置:首页 > 编程语言 > C#

C#应用程序中有动画效果的窗体(2009-06-10)

2012-02-02 16:48 176 查看
现在在做项目的时候发现一个问题,程序给人一种死板的感觉,弹出框撤销框很是无聊
。我在想自己测试了几次就感觉很无聊了,那么用户是不是会和我一样呢。我做的虽然
不是在做游戏,但是我也希望用户在使用我的程序的时候有一种高兴,和开心的感觉,
这么应该也对工作的效率有所提高吧。按照道理来讲,应用软件一般都本着简单化、傻
瓜化的原则,但是这不代表见面应该开心话、娱乐化。我感觉一般年轻人比较喜欢娱乐
化,而老年人就比较实际,通俗易懂最好。我查了查有关窗体美化方面的问题。感觉有
几个不错的手段,这里稍微写写。希望对大家有所帮助,当然也希望有朋友回复创新的
效果。(在vs2005和vs2008环境下的代码)
1、透明度:
在界面的load事件里,通过控件timer来控制本窗体的Opacity。
比如:
private void timerOpenForm_Tick(object sender, EventArgs e)
{
this.Opacity += 0.1;
if (this.Opacity == 1)
{
timerOpen.Stop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
this.Opacity = 0;
timerOpen.Start();
}
2、移动框效果:
例如我们要将一个panel1从现在的位置向下位移30,要在1秒内完成
private int LocationRate = 3; //每次的位移量
private int LocationFrom = 0; //位移开始值
private int LocationTo = 30; //位移结束值
private void timerMove_Tick(object sender, EventArgs e)
{
panel1.Location = new Point(panel1.Location.X, panel1.Location.Y
+ LocationFrom);
if (LocationFrom < LocationTo)
{
LocationFrom = LocationFrom + LocationRate;
}
else
{
timerMove.Stop();
}
}
3、布局自动位移:
我们现在要实现一个翻页效果,首先我们用到tableLayoutPanel1控件,其中包含一个绿
颜色panel1(左边)的和一个蓝颜色panel2(由边)个。现在我们通过一个timer来控制,这
个布局的左右拉伸。
示例:
private int LayoutSize = 0; //移动当前值
private int LayoutRate = 10; //移动速度
private void timerMove_Tick(object sender, EventArgs e)
{
LayoutSize = LayoutSize + LayoutRate;
tableLayoutPanel1.ColumnStyles[0].Width = LayoutSize;
tableLayoutPanel1.ColumnStyles[1].Width = 100 - LayoutSize;
if (LayoutSize == 100)
{
timerMove.Stop();
}
}
以上三种是我在写程序时经常使用的一些小效果的方法,不过都是可以在系统中设定风格选项中设定,毕竟用户不是人人都喜欢这些效果。呵呵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: