/*
*程序的版权和版本声明部分:
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:尚振伟
*完成日期:2014年11月11日
*版本号:v0.1
*对任务及求解方法的描述部分:
*输入描述:无
*问题描述:利用Timer和图片框控件,编写一个图片不断向左移动的小动画。所用图片自行提供或设计。
提示:(1)改变图片的Left值,图片向左(右)移动;改变图片的Top值,图片向下(上)左移动;同时改变图片的Left值和Top值,图片斜向移动;
(2)利用Random类的Next方法产生一定范围的数据作为Left值和Top值,可以使图片任意移动。
(3)图片不要移出窗体,如果Left值或Top值超出窗体范围,能控制图片回到窗体的最左端或最上端。
*程序输入:
*程序输出:
*问题分析:
*算法设计:
*我的程序:
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(@"C:\Users\Administrator\Pictures\pic.jpg"); //动态添加图片
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; //使图片的大小适应控件PictureBox的大小
}
private void timer1_Tick(object sender, EventArgs e)
{
Random run = new Random();
int state = run.Next(0,2);
int value = run.Next(-10,10);
if (state == 0)
{
pictureBox1.Top += value;
}
if (state == 1)
{
pictureBox1.Left += value;
}
if (state == 2)
{
pictureBox1.Top += value;
pictureBox1.Left += value;
}
timer1.Enabled = true;
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Stop();
}
}
}
结果展示:
心得体会:图终于会动了。