实例介绍
【实例简介】
年会抽奖,通过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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论