基本信息
源码名称:C# 车位摇号抽奖系统源码下载
源码大小:0.95M
文件格式:.rar
开发语言:C#
更新时间:2017-10-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
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();
}
}
}