您的位置:首页 > 其它

写了一个整人程序,较简单,有兴趣者可以看看

2011-12-10 00:18 507 查看
程序是基于WPF开发的,动态创建对象和动画。



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Media.Animation;
namespace WpfApplication1
{
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
Ellipse[] els1, els2;
Storyboard std, std2;
int theMax = 100;
public Window1()
{
InitializeComponent();
this.Title = "哈哈,看好了";
this.WindowState = WindowState.Maximized;
els1 = new Ellipse[theMax];
els2 = new Ellipse[theMax];
for (int n = 0; n < theMax; n++)
{
els1
= new Ellipse();
els1
.Fill = Brushes.Transparent;
els1
.Stroke = Brushes.Black;
els1
.StrokeThickness = 0.55;
els1
.Width = 0;
els1
.Height = 0;
els1
.HorizontalAlignment = HorizontalAlignment.Center;
els1
.VerticalAlignment = VerticalAlignment.Center;
//els1
.Stretch = Stretch.Fill;
this.Root.Children.Add(els1
);
}

for (int s = 0; s < theMax; s++)
{
els2[s] = new Ellipse();
els2[s].Fill = Brushes.Transparent;
els2[s].Stroke = Brushes.Black;
els2[s].StrokeThickness = 0.45;
//els2[s].Width = 1300;
//els2[s].Height = 970;
els2[s].Margin = new Thickness(-150);
this.Root.Children.Add(els2[s]);
}
std = new Storyboard();
std.RepeatBehavior = RepeatBehavior.Forever;
Duration AllDuration = new Duration(TimeSpan.FromSeconds(1.2));
//std.Duration = AllDuration;
for (int k = 0; k < theMax; k++)
{
DoubleAnimation dan = new DoubleAnimation();
dan.BeginTime = TimeSpan.FromSeconds(0.02 * k);
dan.Duration = AllDuration;
dan.From = 0;
dan.To = 1100;
dan.RepeatBehavior = RepeatBehavior.Forever;
Storyboard.SetTarget(dan, els1[k]);
Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Width)"));
std.Children.Add(dan);
dan = new DoubleAnimation();
dan.BeginTime = TimeSpan.FromSeconds(0.02 * k);
dan.Duration = AllDuration;
dan.From = 0;
dan.To = 1000;
dan.RepeatBehavior = RepeatBehavior.Forever;
Storyboard.SetTarget(dan, els1[k]);
Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Height)"));
std.Children.Add(dan);
}
//2
std2 = new Storyboard();
std2.RepeatBehavior = RepeatBehavior.Forever;
for (int e = 0; e < theMax; e++)
{
DoubleAnimation dan = new DoubleAnimation();
dan.BeginTime = TimeSpan.FromSeconds(0.05 * e);
dan.Duration = AllDuration;
dan.From = 1100;
dan.To = 0;
dan.RepeatBehavior = RepeatBehavior.Forever;
Storyboard.SetTarget(dan, els2[e]);
Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Width)"));
std2.Children.Add(dan);
dan = new DoubleAnimation();
dan.BeginTime = TimeSpan.FromSeconds(0.03 * e);
dan.Duration = AllDuration;
dan.From = 1350;
dan.To = 0;
dan.RepeatBehavior = RepeatBehavior.Forever;
Storyboard.SetTarget(dan, els2[e]);
Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Height)"));
std2.Children.Add(dan);
}
this.Loaded += new RoutedEventHandler(Window1_Loaded);
}
void Window1_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show("\n\n注意啊,别把眼睛靠得太近!!\n\n\n");
std.Begin();
std2.Begin();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐