老师布置了一个任务,要求我们做一个抽奖游戏,以下是我个人制作的一个作品与写项目的过程。
我们用到了8个pictureBox控件和一个button,设置好大小,并且编排成一个九宫个形状
添加窗体的背景图片,并添加button的背景图片和文字“抽奖”,可以将pictureBox的BorderStyle设置为Fixed3D这样更美观。
以下是代码
public partial class Form1 : Form { public Form1() { InitializeComponent(); } , rd, cnt = , a = ; PictureBox[] pic = ]; //定义一个PictureBox的数组 private void Form1_Load(object sender, EventArgs e) { ; ; foreach (Control picB in this.Controls) //遍历窗体中所有PictureBox,并将窗体的PictureBox加入数组中 { if (picB.GetType() == typeof(PictureBox)) { pic[i] = (PictureBox)picB; i++; } } //将奖品的图片加载进对应的PictureBox中 pictureBox1.ImageLocation = @"image/奖品1.jpg"; pictureBox2.ImageLocation = @"image/奖品2.jpg"; pictureBox3.ImageLocation = @"image/奖品3.jpg"; pictureBox4.ImageLocation = @"image/奖品4.jpg"; pictureBox5.ImageLocation = @"image/奖品5.jpg"; pictureBox6.ImageLocation = @"image/奖品6.jpg"; pictureBox7.ImageLocation = @"image/奖品7.jpg"; pictureBox8.ImageLocation = @"image/奖品8.jpg"; } bool b = true; private void button1_Click_1(object sender, EventArgs e) //打开定时器,并生成一个随机数 { timer1.Enabled = true; Random r = new Random(); rd = r.Next(, ); ) //判断是否是第一次进行抽奖,因为第一次pictureBox大小,位置都是默认的,第二次将是改变的,我们需要恢复 { if (b == true) { b = false; return; } pic[cnt].Location = , pic[cnt].Location.Y + ); } } private void timer1_Tick(object sender, EventArgs e) { == ) //定义一个变量,判断是否是2的倍数,从而实现PictureBox大小的动态变化 { pic[cnt].Size = , ); //改变PictureBox的大小 pic[cnt].BackColor = Color.Red; pic[cnt].Location = , pic[cnt].Location.Y - ); //改变pictureBox的位置,让它处于原图片的中间位置 a++; } == ) { pic[cnt].Size = , ); pic[cnt].Location = , pic[cnt].Location.Y + ); //恢复原位置,以及大小 cnt++; a++; } ) { cnt = ; } == ) //判断生成的随机a的值是否比生成的随机数大,并将对应PictureBox变大,然后停止 { a = ; timer1.Enabled = false; switch (cnt) //转盘停止后判断奖品是什么,并弹出对话框提示用户 { : MessageBox.Show("恭喜您,中奖了!奖品是一部手机"); break; : MessageBox.Show("恭喜您,中奖了!奖品是一副耳机"); break; : MessageBox.Show("恭喜您,中奖了!奖品是5元代金券"); break; : MessageBox.Show("恭喜您,中奖了!奖品是一个蓝牙音箱"); break; : MessageBox.Show("恭喜您,中奖了!奖品是精美礼品一份"); break; : MessageBox.Show("恭喜您,中奖了!奖品是笔记本电脑一台"); break; : MessageBox.Show("恭喜您,中奖了!奖品是遥控飞机一架"); break; : MessageBox.Show("谢谢参与"); break; default: break; } } } }
以上为个人想法,大家如有个好的点子评论留言哟