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

2024-03-20 01:38

本文主要是介绍写了一个整人程序,较简单,有兴趣者可以看看,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序是基于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[n] = new Ellipse();
els1[n].Fill = Brushes.Transparent;
els1[n].Stroke = Brushes.Black;
els1[n].StrokeThickness = 0.55;
els1[n].Width = 0;
els1[n].Height = 0;
els1[n].HorizontalAlignment = HorizontalAlignment.Center;
els1[n].VerticalAlignment = VerticalAlignment.Center;
//els1[n].Stretch = Stretch.Fill;
this.Root.Children.Add(els1[n]);
}
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();
}
}
}


 

这篇关于写了一个整人程序,较简单,有兴趣者可以看看的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/827890

相关文章

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac