实例介绍
【实例简介】
年会抽奖,通过F1/F2/F3/F4/F5... 键 来切换抽奖轮次,详见代码
【实例截图】
【核心代码】
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Runtime.InteropServices;
namespace choujiang
{
public partial class Form1 : Form
{
/// <summary>
/// 调用windows内置播放器类 WMPLib.WindowsMediaPlayerClass
/// </summary>
WMPLib.WindowsMediaPlayerClass MediaPlayer = new WMPLib.WindowsMediaPlayerClass();
/// <summary>
/// 创建连接数据库实例
/// </summary>
SqlBase db = new SqlBase();//实例化数据库连接类
/// <summary>
/// 定义随机抽奖线程名称 th
/// </summary>
Thread th = null;
/// <summary>
/// 定义随机抽奖线程执行标记 true:随机抽奖线程开始,false:随机抽奖线程结束
/// </summary>
private bool Exflag = false;
/// <summary>
/// 定义数据表 dTable
/// </summary>
DataTable dTable;
/// <summary>
/// 定义datatable的总记录数
/// </summary>
private int DataTotal;
/// <summary>
/// 定义抽奖模式变量,1 为幸运奖/ 2 为三等奖/ 3 为二等奖/ 4 为一等奖/ 5 为特等奖/ 6 为单独重新抽奖模式
/// </summary>
private int Draw_Model = 1; //抽奖模拟式
/// <summary>
/// 载入抽奖次数
/// </summary>
private int Draw_Model_Times;
/// <summary>
/// 载入每次抽奖的个数
/// </summary>
private int Per_Count;
/// <summary>
/// 记录临时抽奖的次数,用于比较抽奖次数,默认值 0
/// </summary>
private int Draw_Model_Times_Temp = 0;
/// <summary>
/// 定义抽奖完成标记 true:已完成,false:未完成
/// </summary>
private bool Finish_Flag = false;
/// <summary>
/// 定义是否单独抽奖模式,true:是,false:不是
/// </summary>
private bool Single_Mode = false;
/// <summary>
/// 存放抽奖级别记录
/// </summary>
private List<int> Draw_Model_Record = new List<int>();
/// <summary>
/// 存放抽中号码泛型变量
/// </summary>
private List<string> Array_Lucky_Number = new List<string>();
/// <summary>
/// 存放记录抽奖结果的SQL语句集的动态数组
/// </summary>
ArrayList Array_SQL = new ArrayList();
/// <summary>
/// 存放设置抽奖参数的SQL语句集的动态数组
/// </summary>
ArrayList Array_Setup = new ArrayList();
private string strr = string.Empty;
public Form1()
{
InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\X.jpg");
KillProcess();
}
private void Form1_Load(object sender, EventArgs e)
{
#region 程序开始时加载
Finish_Flag = false;
label2.Text = string.Empty;
strr = string.Empty;
label1.Location = new System.Drawing.Point(360, 399);
Finish_Flag = false;
Draw_Model = 1;//幸运奖模式为1
Loac_Draw_Data(Draw_Model);
label1.Text = string.Empty;
button2.Enabled = false;
button1.Focus();
timer1.Enabled = true;
timer1.Start();
KillProcess();
#endregion
}
/// <summary>
/// 定义播放音乐文件函数 PlayingMedia,参数String MediaPath 表示音乐文件的路径
/// </summary>
/// <param name="MediaPath">String MediaPath 表示音乐文件的路径</param>
private void PlayingMedia(String MediaPath)
{
#region 播放音乐
MediaPlayer.URL = MediaPath;
MediaPlayer.play();
#endregion
}
/// <summary>
/// 定义暂停播放音乐函数 pauseOperation
/// </summary>
private void pauseOperation()
{
#region 暂停播放音乐
MediaPlayer.controls.pause();
#endregion
}
private void show_number_1(List<int> arrnum, string str, Label label)
{
#region 显示幸运号码
for (int i = 0; i < arrnum.Count; i )
{
int T = i;
T ;
if (T != arrnum.Count)
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') " ";
}
else
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0');
}
}
label.Text = str;
strr = str;
#endregion
}
private List<int> arrnum = new List<int>();
public List<int> getRandomNum1(int num, int minValue, int maxValue)
{
#region 获取随机数2
Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
List<int> arrNum1 = new List<int>();
int tmp = 0;
for (int i = 0; i < num; i )//确定抽取次数
{
int s = i;
if (i == 0)
{
tmp = ra.Next(minValue, maxValue); //随机取数
arrNum1.Add(tmp);
}
else
{
tmp = ra.Next(minValue, maxValue); //随机取数
if (FindNu(arrNum1, tmp) == false)
{
}
if (FindNu(arrNum1, tmp) == true)
{
arrNum1.Add(tmp);
}
else
{
i--;
continue;//若重复返回重复抽取随机数
}
}
}
GC.Collect();
return arrNum1;
#endregion
}
private bool FindNu(List<int> Fm, int tmp)
{
#region 判断随机数是否重复
for (int i = 0; i < Fm.Count; i )
{
if (Fm[i].CompareTo(tmp) == 0)
{
return false;
}
}
return true;
#endregion
}
private void test()
{
#region 抽奖函数test()
string strSQL;
strSQL = "select [msgcontent],[manname],[value] from data1 where [value]<>'1' and [flag]<> '0'";
dTable = db.SqlDataTable(strSQL);
DataTotal = dTable.Rows.Count;
while (!Exflag)
{
arrnum = getRandomNum1(Per_Count, 1, DataTotal);
string str = string.Empty;
if (Per_Count >= 10)
{
for (int i = 0; i < arrnum.Count; i )
{
if (i == 4)
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') "\n";
}
else
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') " ";
}
}
DispInfo(label1, str);
}
else
{
for (int i = 0; i < arrnum.Count; i )
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') " ";
}
DispInfo(label1, str);
}
GC.Collect();
KillProcess();
Thread.Sleep(20);
}
#endregion
}
private void test_2()
{
#region 抽奖函数test_2()
string strSQL1;
strSQL1 = "select [msgcontent],[manname],[value] from data1_1 where [value]<>'1' and [flag]<> '0' ";
dTable = db.SqlDataTable(strSQL1);
DataTotal = dTable.Rows.Count;
if (DataTotal != 0)
{
while (!Exflag)
{
arrnum = getRandomNum1(Per_Count, 0, DataTotal);
string str = string.Empty;
if (Per_Count >= 10)
{
for (int i = 0; i < arrnum.Count; i )
{
if (i == 4)
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') "\n";
}
else
{
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') " ";
}
}
DispInfo(label1, str);
}
else
{
for (int i = 0; i < arrnum.Count; i )
{
//str = dTable.Rows[Convert.ToInt32(arrnum[i])][0].ToString().PadLeft(3, '0') " ";
str = dTable.Rows[arrnum[i]][0].ToString().PadLeft(3, '0') " ";
}
DispInfo(label1, str);
}
GC.Collect();
KillProcess();
Thread.Sleep(20);
}
}
else
{
MessageBox.Show("抽奖已完成!");
}
#endregion
}
/// <summary>
/// 显示 抽奖 Label 委托信息
/// </summary>
/// <param name="str"></param>
private delegate void myDelegate(Label lb, string str);
private void DispInfo(Label lb, string str)
{
#region 委托事件显示label文本
if (lb.InvokeRequired)
{
myDelegate md = new myDelegate(this.DispInfo);
lb.Invoke(md, new object[] { lb, str });
}
else
{
lb.Text = str;
lb.Refresh();
}
#endregion
}
private void Check_Draw_Model(int draw_model)
{
#region 检测抽奖模式
switch (draw_model)
{
case 1:
{
MessageBox.Show("当前抽奖模式为:幸运奖");
break;
}
case 2:
{
MessageBox.Show("当前抽奖模式为:三等奖");
break;
}
case 3:
{
MessageBox.Show("当前抽奖模式为:二等奖");
break;
}
case 4:
{
MessageBox.Show("当前抽奖模式为:一等奖");
break;
}
case 5:
{
MessageBox.Show("当前抽奖模式为:特等奖");
break;
}
case 6:
{
MessageBox.Show("当前抽奖模式为:单独重新抽奖模式");
break;
}
case 0:
{
MessageBox.Show("当前抽奖模式还没有开始!");
break;
}
}
#endregion
}
/// <summary>
/// 载入当前抽奖模式参数
/// </summary>
/// <param name="Draw_Model"></param>
private void Loac_Draw_Data(int Draw_Model)
{
#region 载入当前抽奖模式参数
string Query_Draw_Model = string.Format("select award_level,times,per_count,times_record from data_setup where award_level={0}", Draw_Model);
OleDbDataReader dr = db.SqlGetDataReader(Query_Draw_Model);
if (dr.Read())
{
if (Convert.ToInt32(dr["times_record"].ToString()) > 0)
{
Draw_Model_Times = Convert.ToInt32(dr["times"].ToString());
Per_Count = Convert.ToInt32(dr["per_count"].ToString());
Draw_Model_Times_Temp = Convert.ToInt32(dr["times_record"].ToString());
}
else
{
Draw_Model_Times = Convert.ToInt32(dr["times"].ToString());
Per_Count = Convert.ToInt32(dr["per_count"].ToString());
Draw_Model_Times_Temp = 0;
}
}
dr.Close();
KillProcess();
#endregion
}
private void but_min_Click(object sender, EventArgs e)
{
#region 最小化抽奖程序
this.WindowState = FormWindowState.Minimized;
#endregion
}
private void but_max_Click(object sender, EventArgs e)
{
#region 最大化抽奖程序
if (this.WindowState == FormWindowState.Maximized)
{
this.WindowState = FormWindowState.Normal;
}
else
{
this.WindowState = FormWindowState.Maximized;
}
#endregion
}
private void Form1_KeyDown5555(object sender, KeyEventArgs e)
{
#region 快捷键调用
switch (e.KeyData)
{
case Keys.F1:
{
string sql = string.Format("select use_flag from data_setup where award_level=1 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Dock = System.Windows.Forms.DockStyle.None;
label1.Location = new System.Drawing.Point(160, 460);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 75);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\X.jpg");
Finish_Flag = false;
Single_Mode = false;
Draw_Model = 1;//幸运奖模式为1
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F2:
{
string sql = string.Format("select use_flag from data_setup where award_level=2 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label2.Dock = System.Windows.Forms.DockStyle.Top;
label1.Location = new System.Drawing.Point(145, 430);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 60);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\3.jpg");
Draw_Model = 2;
Single_Mode = false;
Finish_Flag = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F3:
{
string sql = string.Format("select use_flag from data_setup where award_level=3 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label2.Dock = System.Windows.Forms.DockStyle.Top;
label1.Location = new System.Drawing.Point(147, 450);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 60);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\2.jpg");
Draw_Model = 3;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F4:
{
string sql = string.Format("select use_flag from data_setup where award_level=4 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label2.Dock = System.Windows.Forms.DockStyle.None;
label1.Location = new System.Drawing.Point(120, 380);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\1.jpg");
Draw_Model = 4;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F5:
{
string sql = string.Format("select use_flag from data_setup where award_level=5 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Location = new System.Drawing.Point(100, 400);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\T.jpg");
Draw_Model = 4;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
Draw_Model = 5;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F6:
{
/*
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Location = new System.Drawing.Point(435, 356);
Finish_Flag = false;
Single_Mode = true;
Per_Count = 1;
*/
break;
}
case Keys.F7:
{
Init_Setup abc = new Init_Setup();
abc.ShowDialog();
break;
}
case Keys.F8:
{
Show_Lucky_Number Show_Lucky_Number = new Show_Lucky_Number();
Show_Lucky_Number.ShowDialog();
break;
}
case Keys.F9:
{
Array_Setup.Clear();
////清空抽奖次数
string str1 = string.Format("update data_setup set [times_record]=0");
Array_Setup.Add(str1);
////重置抽奖记录值标志
string str2 = string.Format("update data1 set [value]='0'");
string str22 = string.Format("update data1_1 set [value]='0'");
Array_Setup.Add(str2);
Array_Setup.Add(str22);
////清空获奖名单
string str3 = string.Format("delete * from data2");
string str33 = string.Format("delete * from data2_2");
Array_Setup.Add(str3);
Array_Setup.Add(str33);
if (db.SqlExeSqlTran(Array_Setup) == 1)
{
Draw_Model = 1; //抽奖模拟式
Loac_Draw_Data(Draw_Model);
Finish_Flag = false;
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Location = new System.Drawing.Point(150, 460);
label1.Dock = System.Windows.Forms.DockStyle.None;
this.label1.Font = new System.Drawing.Font("宋体", 75);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\X.jpg");
MessageBox.Show("重置成功!");
return;
}
else
{
MessageBox.Show("重置失败!");
return;
}
break;
}
case Keys.Enter:
{
button2.Focus();
break;
}
case Keys.Space:
{
button2.Focus();
break;
}
case Keys.Escape:
{
this.Close();
break;
}
}
#endregion
}
private void but_clo_Click(object sender, EventArgs e)
{
#region 关闭抽奖程序
this.Close();
#endregion
}
/// <summary>
/// 快速释放内存资源
/// </summary>
public void KillProcess()
{
#region 快速释放内存资源
System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet = new System.IntPtr(5);
#endregion
}
private void button1_Click(object sender, EventArgs e)
{
#region 线程抽奖开始
switch (Single_Mode)
{
case false:
{
if (Draw_Model_Times_Temp >= Draw_Model_Times)
{
Finish_Flag = true;
show_number(Draw_Model);
label1.Text = string.Empty;
label1.Visible = false;
return;
}
else
{
string file_pathe = "./sound/11.wma";
PlayingMedia(file_pathe);
label2.Text = string.Empty;
label1.Visible = true;
button1.Enabled = false;
button2.Enabled = true;
th = new Thread(new ThreadStart(test));
th.IsBackground = true;
th.Start();
}
button2.Focus();
KillProcess();
break;
}
case true:
{
string file_pathe = "./sound/11.wma";
PlayingMedia(file_pathe);
label2.Text = string.Empty;
label1.Visible = true;
button1.Enabled = false;
button2.Enabled = true;
th = new Thread(new ThreadStart(test));
th.IsBackground = true;
th.Start();
button2.Focus();
KillProcess();
break;
}
}
#endregion
}
private void button2_Click(object sender, EventArgs e)
{
#region 线程抽奖结束
pauseOperation();
strr = string.Empty;
Array_Lucky_Number.Clear();
Array_SQL.Clear();
button1.Enabled = true;
Exflag = false;
th.Abort();
show_number_1(arrnum, strr, label1);
switch (Draw_Model)
{
case 1:
{
if (Single_Mode == false)
{
string[] str4 = System.Text.RegularExpressions.Regex.Split(strr, @"[ ] ");
foreach (string i in str4)
{
int Number1 = Convert.ToInt32(i);
if (Number1 % 2 != 0)
{
string Update_Lucky_Number = string.Format("update data1 set [value]='1' where MsgContent mod 2 <>0 and flag <>'0'");
Array_SQL.Add(Update_Lucky_Number);
}
else
{
string Update_Lucky_Number = string.Format("update data1 set [value]='1' where MsgContent mod 2=0 and flag <>'0'");
Array_SQL.Add(Update_Lucky_Number);
}
}
}
else
{
string[] str4 = System.Text.RegularExpressions.Regex.Split(strr, @"[ ] ");
foreach (string i in str4)
{
Array_Lucky_Number.Add(i);
}
}
break;
}
case 2:
{
if (Single_Mode == false)
{
string str = string.Empty;
string str2 = string.Empty;
for (int i = 0; i < arrnum.Count; i )
{
if (i >= 5)
{
str = dTable.Rows[Convert.ToInt32(arrnum[i])][0].ToString() " ";
}
else
{
str2 = dTable.Rows[Convert.ToInt32(arrnum[i])][0].ToString() " ";
}
}
string[] str4 = System.Text.RegularExpressions.Regex.Split(strr, @"[ ] ");
foreach (string i in str4)
{
Array_Lucky_Number.Add(i);
}
}
else
{
}
break;
}
case 3:
{
if (Single_Mode == false)
{
string str = string.Empty;
string str2 = string.Empty;
for (int i = 0; i < arrnum.Count; i )
{
if (i >= 5)
{
str = dTable.Rows[Convert.ToInt32(arrnum[i])][0].ToString() " ";
}
else
{
str2 = dTable.Rows[Convert.ToInt32(arrnum[i])][0].ToString() " ";
}
}
string[] str4 = System.Text.RegularExpressions.Regex.Split(strr, @"[ ] ");
foreach (string i in str4)
{
Array_Lucky_Number.Add(i);
}
}
else
{
}
break;
}
case 4:
{
if (Single_Mode == false)
{
string[] str4 = System.Text.RegularExpressions.Regex.Split(strr, @"[ ] ");
foreach (string i in str4)
{
Array_Lucky_Number.Add(i);
}
}
else
{
}
break;
}
case 5:
{
if (Single_Mode == false)
{
string[] str4 = System.Text.RegularExpressions.Regex.Split(strr, @"[ ] ");
foreach (string i in str4)
{
Array_Lucky_Number.Add(i);
}
}
else
{
}
break;
}
case 6:
{
if (Single_Mode == false)
{
}
else
{
}
break;
}
}
switch (Single_Mode)
{
case false:
{
Draw_Model_Times_Temp ;
//////写入抽取记录
string Write_Record = string.Format("update data_setup set [times_record]=[times_record] 1 where [award_level]={0}", Draw_Model);
Array_SQL.Add(Write_Record);
if (Array_Lucky_Number.Count > 0)
{
for (int i = 0; i < Array_Lucky_Number.Count; i )
{
string Write_Lucky_Number = string.Format("insert into data2 values({0},'{1}','{2}')", Array_Lucky_Number[i], Array_Lucky_Number[i], Draw_Model);
string Update_Lucky_Number = string.Format("update data1 set [value]='1' where [msgcontent]={0}", Array_Lucky_Number[i]);
Array_SQL.Add(Write_Lucky_Number);
Array_SQL.Add(Update_Lucky_Number);
}
db.SqlExeSqlTran(Array_SQL);
}
else
{
db.SqlExeSqlTran(Array_SQL);
string Write_Lucky_Number1 = string.Format("insert into data2 (lucky_number,name,award_level) select MsgContent,ManName,'{0}' from data1 where value='1'", Draw_Model);
//Array_SQL.Add(Write_Lucky_Number);
db.SqlExSql(Write_Lucky_Number1);
}
break;
}
case true:
{
if (Draw_Model != 1)
{
Draw_Model_Times_Temp ;
//////写入抽取记录
for (int i = 0; i < Array_Lucky_Number.Count; i )
{
string Write_Lucky_Number = string.Format("insert into data2 values({0},'{1}','{2}')", Array_Lucky_Number[i], Array_Lucky_Number[i], Draw_Model);
string Update_Lucky_Number = string.Format("update data1_1 set [value]='1' where [msgcontent]={0}", Array_Lucky_Number[i]);
Array_SQL.Add(Write_Lucky_Number);
Array_SQL.Add(Update_Lucky_Number);
}
}
else
{
Draw_Model_Times_Temp ;
//////写入抽取记录
for (int i = 0; i < Array_Lucky_Number.Count; i )
{
string Write_Lucky_Number = string.Format("insert into data2_2 values({0},'{1}','{2}')", Array_Lucky_Number[i], Array_Lucky_Number[i], Draw_Model);
string Update_Lucky_Number = string.Format("update data1_1 set [value]='1' where [msgcontent]={0}", Array_Lucky_Number[i]);
Array_SQL.Add(Write_Lucky_Number);
Array_SQL.Add(Update_Lucky_Number);
}
}
db.SqlExeSqlTran(Array_SQL);
break;
}
}
button2.Enabled = false;
button1.Focus();
KillProcess();
#endregion
}
private void timer1_Tick(object sender, EventArgs e)
{
#region 定时循环播放音乐
if (MediaPlayer.playState == WMPLib.WMPPlayState.wmppsStopped)
{
MediaPlayer.play();
}
KillProcess();
#endregion
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
#region 快捷键调用
switch (e.KeyData)
{
case Keys.F1://二等奖、安慰奖
{
string sql = string.Format("select use_flag from data_setup where award_level=1 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Dock = System.Windows.Forms.DockStyle.None;
label1.Location = new System.Drawing.Point(270, 350);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\X.jpg");
Finish_Flag = false;
Single_Mode = false;
Draw_Model = 1;//幸运奖模式为1
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F2://三等奖
{
string sql = string.Format("select use_flag from data_setup where award_level=2 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label2.Dock = System.Windows.Forms.DockStyle.Top;
label1.Location = new System.Drawing.Point(30, 360);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 75);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\3.jpg");
Draw_Model = 2;
Single_Mode = false;
Finish_Flag = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F3://二等奖
{
string sql = string.Format("select use_flag from data_setup where award_level=3 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label2.Dock = System.Windows.Forms.DockStyle.Top;
label1.Location = new System.Drawing.Point(50, 350);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\2.jpg");
Draw_Model = 3;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F4://一等奖
{
string sql = string.Format("select use_flag from data_setup where award_level=4 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label2.Dock = System.Windows.Forms.DockStyle.None;
label1.Location = new System.Drawing.Point(270, 350);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\1.jpg");
Draw_Model = 4;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F5://特等奖
{
string sql = string.Format("select use_flag from data_setup where award_level=5 ");
OleDbDataReader dr = db.SqlGetDataReader(sql);
dr.Read();
if (dr["use_flag"].ToString().Equals("1"))
{
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Location = new System.Drawing.Point(100, 400);
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\T.jpg");
Draw_Model = 4;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
Draw_Model = 5;
Finish_Flag = false;
Single_Mode = false;
Loac_Draw_Data(Draw_Model);
}
else
{
return;
}
break;
}
case Keys.F6:
{
/*
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Location = new System.Drawing.Point(435, 356);
Finish_Flag = false;
Single_Mode = true;
Per_Count = 1;
*/
break;
}
case Keys.F7:
{
Init_Setup abc = new Init_Setup();
abc.ShowDialog();
break;
}
case Keys.F8:
{
Show_Lucky_Number Show_Lucky_Number = new Show_Lucky_Number();
Show_Lucky_Number.ShowDialog();
break;
}
case Keys.F9:
{
Array_Setup.Clear(); //清空抽奖次数
string str1 = string.Format("update data_setup set [times_record]=0");
Array_Setup.Add(str1); //重置抽奖记录值标志
string str2 = string.Format("update data1 set [value]='0'");
string str22 = string.Format("update data1_1 set [value]='0'");
Array_Setup.Add(str2);
Array_Setup.Add(str22);//清空获奖名单
string str3 = string.Format("delete * from data2");
string str33 = string.Format("delete * from data2_2");
Array_Setup.Add(str3);
Array_Setup.Add(str33);
if (db.SqlExeSqlTran(Array_Setup) == 1)
{
Draw_Model = 1; //抽奖模拟式
Loac_Draw_Data(Draw_Model);
Finish_Flag = false;
strr = string.Empty;
label2.Text = string.Empty;
label1.Text = string.Empty;
label1.Visible = true;
label1.Location = new System.Drawing.Point(270, 350);
label1.Dock = System.Windows.Forms.DockStyle.None;
this.label1.Font = new System.Drawing.Font("方正综艺简体", 180);
this.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupPath @"\\img\\X.jpg");
MessageBox.Show("重置成功!");
//return;
}
else
{
MessageBox.Show("重置失败!");
//return;
}
break;
}
case Keys.Enter:
{
button2.Focus();
break;
}
case Keys.Space:
{
button2.Focus();
break;
}
case Keys.Escape:
{
this.Close();
break;
}
}
#endregion
}
private void show_number(int DrawMode)
{
#region 完成抽奖后显示号码
string Query_Lucky_Number = string.Empty;
Query_Lucky_Number = string.Format("select lucky_number,name from data2 where award_level='{0}'", DrawMode);
DataTable dt = db.SqlDataTable(Query_Lucky_Number);
string sstr = string.Empty;
switch (Draw_Model)
{
case 1:
{
label2.Dock = System.Windows.Forms.DockStyle.None;
label2.Location = new System.Drawing.Point(170, 320);
this.label2.Font = new System.Drawing.Font("方正综艺简体", 40);
int lucky_number = Convert.ToInt32(dt.Rows[0][0].ToString());
if (lucky_number % 2 == 0)
{
sstr = "恭喜你,抽奖卷号码尾数为:"
"\n" " 0,2,4,6,8 "
"\n" " 的观众获得"
"\n" " 安慰奖!";
}
else
{
sstr = "恭喜你,抽奖卷号码尾数为:"
"\n" " 1,3,5,7,9 "
"\n" " 的观众获得"
"\n" " 安慰奖!";
}
}
break;
case 2://公布三等奖名单
{
label2.Dock = System.Windows.Forms.DockStyle.None;
label2.Location = new System.Drawing.Point(30, 360);
this.label2.Font = new System.Drawing.Font("方正综艺简体", 75);
for (int i = 0; i < dt.Rows.Count; i )
{
int s = i 1;
if (s % 5 == 0)
{
sstr = dt.Rows[i][0].ToString().PadLeft(3, '0') " \n";
}
else
{
sstr = dt.Rows[i][0].ToString().PadLeft(3, '0') " ";
}
}
}
break;
case 3://公布二等奖名单
{
label2.Dock = System.Windows.Forms.DockStyle.None;
label2.Location = new System.Drawing.Point(50, 350);
this.label2.Font = new System.Drawing.Font("方正综艺简体", 180);
for (int i = 0; i < dt.Rows.Count; i )
{
int s = i 1;
if (s % 5 == 0)
{
sstr = dt.Rows[i][0].ToString().PadLeft(3, '0') " \n";
}
else
{
sstr = dt.Rows[i][0].ToString().PadLeft(3, '0') " ";
}
}
}
break;
case 4://公布一等奖名单
{
label2.Dock = System.Windows.Forms.DockStyle.None;
label2.Location = new System.Drawing.Point(270, 350);
this.label2.Font = new System.Drawing.Font("方正综艺简体", 180);
for (int i = 0; i < dt.Rows.Count; i )
{
sstr = dt.Rows[i][0].ToString().PadLeft(3, '0') " \n";
}
}
break;
case 5://公布特等奖名单
{
label2.Dock = System.Windows.Forms.DockStyle.None;
label2.Location = new System.Drawing.Point(100, 400);
this.label2.Font = new System.Drawing.Font("方正综艺简体", 180);
for (int i = 0; i < dt.Rows.Count; i )
{
sstr = dt.Rows[i][0].ToString().PadLeft(3, '0') " \n";
}
}
break;
case 6:
{
label2.Dock = System.Windows.Forms.DockStyle.None;
label2.Location = new System.Drawing.Point(164, 176);
}
break;
}
label2.Text = sstr;
#endregion
}
}
}
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论