实例介绍
【实例截图】
【核心代码】
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace Lucky { public partial class LuckyForm : Form { public int choose; int pernum; //总人数(图片的数量) int i = 0; //图片下标(总人数) int index; //中奖者的下标(滚动下标) int dj = 1; //抽奖等级 int save=0; //是否保存 String winner=""; //中奖者下标 bool go = true; //判断开始按钮 int wined = 0; //已抽出的中奖人数 Random ran = new Random(DateTime.Now.Millisecond); int tmpadd = 0; private static int aset = 0; private static int setnum=0; public LuckyForm() { InitializeComponent(); } private void zhongjianglist() { if (dj == 1) { foreach (string a in UserHelper.yiwinner) { if (a != null) { listBox1.Items.Add(a); } else { break; } } } else if (dj == 2) { foreach (string b in UserHelper.erwinner) { if (b != null) { listBox1.Items.Add(b); } else { break; } } } else if (dj == 3) { foreach (string c in UserHelper.sanwinner) { if (c != null) { listBox1.Items.Add(c); } else { break; } } } else if (dj == 4) { foreach (string d in UserHelper.siwinner) { if (d != null) { listBox1.Items.Add(d); } else { break; } } } else if (dj == 5) { foreach (string e in UserHelper.wuwinner) { if (e != null) { listBox1.Items.Add(e); } else { break; } } } else if (dj == 0) { foreach (string t in UserHelper.twinner) { if (t != null) { listBox1.Items.Add(t); } else { break; } } } } private void LuckyForm_Load(object sender, EventArgs e) { try { //显示抽几等奖 if (choose == 1) { lblno.Text = "一等奖"; lblset.Text = UserHelper.one.ToString(); //设置名额 lblcc.Text = readnum(1).ToString(); //抽出名额 dj = 1; } else if (choose == 2) { lblno.Text = "二等奖"; lblset.Text = UserHelper.two.ToString(); lblcc.Text = readnum(2).ToString(); dj = 2; } else if (choose == 3) { lblno.Text = "三等奖"; lblset.Text = UserHelper.three.ToString(); lblcc.Text = readnum(3).ToString(); dj = 3; } else if (choose == 4) { lblno.Text = "四等奖"; lblset.Text = UserHelper.four.ToString(); lblcc.Text = readnum(4).ToString(); dj = 4; } else if (choose == 5) { lblno.Text = "五等奖"; lblset.Text = UserHelper.five.ToString(); lblcc.Text = readnum(5).ToString(); dj = 5; } else if (choose == 0) { lblno.Text = "特等奖"; lblset.Text = UserHelper.te.ToString(); lblcc.Text = readnum(0).ToString(); dj = 0; } zhongjianglist(); //所有图片路径 //string path = Application.StartupPath @"\staff"; ////设置抽奖人员 //DirectoryInfo dir = new DirectoryInfo(path); //FileInfo[] ff = dir.GetFiles("*.jpg"); //i = ff.Length; //pernum = ff.Length; //总人数 //存放名字的数组 //UserHelper.sname = new string[i]; //int ix = 0; //foreach (FileInfo f in ff) //{ // UserHelper.sname[ix] = f.Name.ToString().Substring(0, f.Name.Length - 4); // ilface.Images.Add(f.Name, Image.FromFile(f.FullName)); // ix ; //} //读取用户信息 放到数组中去默认最大人数是500 UserHelper.sname = new string[500]; StreamReader sr = new StreamReader("staff.txt",System.Text.Encoding.Default); while (!sr.EndOfStream) { UserHelper.sname[i] = sr.ReadLine(); i ; } sr.Close(); pernum = i; //加载单项抽出的人数 save = Convert.ToInt32(lblcc.Text); //加载抽出的总人数 wined = readnum(1) readnum(2) readnum(3) readnum(4) readnum(5) readnum(0); } catch (Exception) { MessageBox.Show("抱歉,启动失败!","系统",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); this.Close(); } } //读取抽取的名额 private int readnum(int num) { int re = 0; //计数器 if (num == 1) { foreach (string n in UserHelper.yiwinner) { if (n != null) { re ; } else { break; } } } else if (num == 2) { foreach (string n in UserHelper.erwinner) { if (n != null) { re = re 1; } else { break; } } } else if (num == 3) { foreach (string n in UserHelper.sanwinner) { if (n != null) { re = re 1; } else { break; } } } else if (num == 4) { foreach (string n in UserHelper.siwinner) { if (n != null) { re = re 1; } else { break; } } } else if (num == 5) { foreach (string n in UserHelper.wuwinner) { if (n != null) { re = re 1; } else { break; } } } else if (num == 0) { foreach (string n in UserHelper.twinner) { if (n != null) { re = re 1; } else { break; } } } return re; } //键盘控制 //private void LuckyForm_KeyPress(object sender, KeyPressEventArgs e) //{ // //判断是否按下空格或回车 // if (e.KeyChar == '\r' || e.KeyChar == ' ') // { // btnonoff_Click(sender, e); // } //} //图片游动控制 private void tmrchoose_Tick(object sender, EventArgs e) { index = ran.Next(1, i - 1); //this.picface.Image = this.ilface.Images[index]; this.lblname.Text = UserHelper.sname[index]; } //点击开始抽奖 private void btnonoff_Click(object sender, EventArgs e) { //图片张数大于1 if (pernum > 0) { //判断按键开始抽奖 if (go) { //当抽出了所有名额提示返回 if (Convert.ToInt32(lblcc.Text) >= Convert.ToInt32(lblset.Text)) { DialogResult re = MessageBox.Show("您设置的中奖人数已经全部抽出,要返回吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (re == DialogResult.OK) { this.Close(); } else { tmrchoose.Enabled = true; btnonoff.Text = "停止"; go = false; } } else { tmrchoose.Enabled = true; btnonoff.Text = "停止"; go = false; } } else { if (btnonoff.Text.Equals("保存")) { DialogResult re = MessageBox.Show("要保存本次的抽奖记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (re == DialogResult.Yes) { switch (dj) { case 1: UserHelper.yiwinner[save] = winner; break; case 2: UserHelper.erwinner[save] = winner; break; case 3: UserHelper.sanwinner[save] = winner; break; case 4: UserHelper.siwinner[save] = winner; break; case 5: UserHelper.wuwinner[save] = winner; break; case 0: UserHelper.twinner[save] = winner; break; } UserHelper.wintemp[wined] = winner; listBox1.Items.Add(winner); save = save 1; //单项中奖人数自增一 wined = wined 1; //中奖总人数自增一 lblcc.Text = Convert.ToString(Convert.ToInt32(lblcc.Text) 1); btnonoff.Text = "开始"; go = true; } else { btnonoff.Text = "开始"; go = true; } winner = "";//清空中奖者缓存 } else { tmrchoose.Enabled = false; bool ishave;//是否重复 do { ishave = false; //初始化 //如果己抽出的人数大于参加抽奖的人数,充许中两次奖(一般不可能出现~~!) if (wined >= i-1) { //ishave = false; break; } foreach (string awin in UserHelper.wintemp) { if (UserHelper.sname[index].Equals(awin)) { ishave = true; break; } } if (ishave) { index ; if (index >= i) { index = 1; } } } while (ishave); SetLucky(); // this.picface.Image = this.ilface.Images[index]; this.lblname.Text = winner; //将抽出的结果存在winner中 btnonoff.Text = "保存"; } } } else { MessageBox.Show("没有找到抽奖成员!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void SetLucky() { if (dj == 0) { tmpadd = 1; } else if (tmpadd == 0) { tmpadd = ran.Next(1, dj); } aset ; if(aset == tmpadd) { switch (dj) { case 0: winner = UserHelper.setwin; break; case 1: if (setnum < UserHelper.setwin1.Length && UserHelper.setwin1[setnum] != null) { winner = UserHelper.setwin1[setnum]; setnum ; } break; case 2: if (setnum < UserHelper.setwin2.Length && UserHelper.setwin2[setnum] != null) { winner = UserHelper.setwin2[setnum]; setnum ; } break; case 3: if (setnum < UserHelper.setwin3.Length && UserHelper.setwin3[setnum] != null) { winner = UserHelper.setwin3[setnum]; setnum ; } break; case 4: if (setnum < UserHelper.setwin4.Length && UserHelper.setwin4[setnum] != null) { winner = UserHelper.setwin4[setnum]; setnum ; } break; case 5: if (setnum < UserHelper.setwin5.Length && UserHelper.setwin5[setnum] != null) { winner = UserHelper.setwin5[setnum]; setnum ; } break; } aset = 0; tmpadd = 0; } if (winner==null || winner.Equals("")) { winner = UserHelper.sname[index]; } } //查看结果 private void btnresult_Click(object sender, EventArgs e) { //WinnerForm winner = new WinnerForm(); //winner.ccdj = this.dj; //winner.ShowDialog(); } //返回 private void btnbc_Click(object sender, EventArgs e) { aset = 0; setnum = 0; this.Close(); } //退出关闭tmr private void LuckyForm_FormClosing(object sender, FormClosingEventArgs e) { if (btnonoff.Text.Equals("保存")) { DialogResult re = MessageBox.Show("已抽出中奖者但尚未保存,要关闭吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (re == DialogResult.Cancel) { e.Cancel = true; return; } } aset = 0; setnum = 0; GC.Collect(); this.Dispose(); } } }
标签: 系统
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论