C#课程设计—模拟抽奖软件设计_第1页
C#课程设计—模拟抽奖软件设计_第2页
C#课程设计—模拟抽奖软件设计_第3页
C#课程设计—模拟抽奖软件设计_第4页
C#课程设计—模拟抽奖软件设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*学院课程设计报告(2012/2013学年第一学期)课程名称: 模拟抽奖软件 姓 名: 放羊娃 学 院: 系 别: 专业班级: 指导老师: 设计周数 : 2周 设计成绩: 2013年1月13日目录1引言.2 1.1课程设计的目的 .21.2设计特点和要求.21.3定义.22任务简述.2 2.1课设任务.2 2. 2课设要求. 2 2.3系统设计.3 2.4系统界面设计.33数据描述.3 3.1使用说明.3 3.2功能划分.54源代码65个人总结.226参考文献.237. 教师签字及评语.24模拟抽奖软件·1引言·1.1课程设计的目的1.通过本次设计掌握使用C#语言中窗体的建

2、立,各个控件的使用,以及界面的设计。2.进一步巩固所学的C#以及数据库的相关理论知识,提高分析和解决实际问题的能力。3.初步掌握使用C#工具设计一个具体实例的方法,包括软件的设计,调试的全过程。·1.2设计特点和要求设计抽奖模拟的运行界面;1、奖项及规则基础数据维护;2、随机抽奖功能;3、能将获奖数据进行存储、管理,并提供能活的查询功能功能。·1.3定义专业术语与缩略词抽奖:以抽签法给买主奖品。商人招徕顾客的一种手段。·2 任务简述·2.1课设任务1.根据技术要求和现有开发环境,分析题目2.选定方案3.使用C#语言和.net框架,并结合数据库,实现软件4

3、.调试、修改并完善程序·2.2 课设要求1奖项及规则基础数据维护;2随机抽奖功能;3能将获奖数据进行存储、管理,并提供能活的查询功能功能。·2.3系统设计1.功能方面:随机抽奖功能;对奖项设置;查询。2.性能:用户可以在没有任何经验的前提下准确操作软件3.输入:用户通过外接键盘进行输入·2.4系统界面设计·3用户设置见面·3.1使用说明用例解说:主界面:按界面提示信息按键开始抽奖右键主界面可按照提示进入设置界面设置界面操作:需要输入验证密码;输入正确:可对程序进行相关设置。输入错误:提示错误信息。 一般设置:主标题:对主标题进行设置;()副标题

4、:有需要的清空可以设置副标题下方提示信息:可以按自己的要求更改提示提示音:可自定义提示抽奖时的声音;抽奖按钮设置:在下拉列表中选择按钮滚动时间设置:可对抽奖时间进行设置;程序密码:对登录程序密码的更改奖项设置:奖项名称:对奖项的等级的描述奖品名称:对中奖内容的描述已抽取:设定已经被抽走的奖品数量总数:奖品的总数(数量多少不能决定抽奖概率!)中奖概率:设置中奖概率,单位%提示音:设定抽奖中奖是的时的声音后门系统:可以调节后大大提高设定的奖品的抽中概率,或者是100%中奖·3.2功能划分·6 源代码FormSetupusing System;using System.Colle

5、ctions.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace ChouJiang public partial class FormSetup : Form Boolean bPassFlag; string sPassWord; public FormSetup() InitializeComponent(); private void

6、 FormSetup_Load(object sender, EventArgs e) try Ini ini = new Ini(FormMain.sCurrentDir + "/Config.ini"); TB_Title.Text = ini.ReadValue("Setting", "TB_Title"); TB_Remark.Text = ini.ReadValue("Setting", "TB_Remark"); TB_Space.Text = ini.ReadValue("

7、;Setting", "TB_Space"); TB_iTimerStop.Text = ini.ReadValue("Setting", "iStopTimer"); TB_Sound.Text = ini.ReadValue("Setting", "TB_Sound"); sPassWord = ini.ReadValue("Setting", "SetupPassWord"); switch (Convert.ToInt32(ini.Rea

8、dValue("Setting", "CB_StartKey") case 32: CB_StartKey.Text = "SPACE" break; case 13: CB_StartKey.Text = "ENTER" break; case 8: CB_StartKey.Text = "BACKSPACE" break; case 27: CB_StartKey.Text = "ESC" break; default: CB_StartKey.Text =Convert

9、.ToString(char) Convert.ToInt32(ini.ReadValue("Setting", "CB_StartKey"); break; catch LV_Prize_Refresh(); bPassFlag = false; tabControl1.SelectTab(2); public void LV_Prize_Refresh() LV_Prize.Items.Clear(); OleDbDataAdapter sda = new OleDbDataAdapter("select * from tab_Prize&

10、quot;, FormMain.Conn); DataSet ds = new DataSet(); sda.Fill(ds, "tab_Prize"); for (int i = 0; i < ds.Tables"tab_Prize".Rows.Count; i+) LV_Prize.Items.Add(ds.Tables"tab_Prize".Rowsi.ItemArray0.ToString(); for (int j = 1; j < ds.Tables"tab_Prize".Columns.C

11、ount; j+) if (j = 6 | j = 7) && ds.Tables"tab_Prize".Rowsi.ItemArrayj.ToString()!="") switch (Convert.ToInt32( ds.Tables"tab_Prize".Rowsi.ItemArrayj.ToString() case 32: LV_Prize.Itemsi.SubItems.Add("CTRL+SPACE"); break; case 13: LV_Prize.Itemsi.SubItem

12、s.Add("CTRL+ENTER"); break; case 8: LV_Prize.Itemsi.SubItems.Add("CTRL+BACKSPACE"); break; case 27: LV_Prize.Itemsi.SubItems.Add("CTRL+ESC"); break; default: LV_Prize.Itemsi.SubItems.Add("CTRL+" + Convert.ToString(char)Convert.ToInt32(ds.Tables"tab_Prize&

13、quot;.Rowsi.ItemArrayj.ToString(); break; else LV_Prize.Itemsi.SubItems.Add(ds.Tables"tab_Prize".Rowsi.ItemArrayj.ToString(); private void BTN_Add_Click(object sender, EventArgs e) if (TB_Awards.Text = "") LBState.Text = "注痢?意癮:阰奖±项?名?称?不?能ü为a空?." TB_Awards.Fo

14、cus(); return; LBState.Text = "正y在ú添?加ó,?请?稍?后ó." try OleDbCommand scd = new OleDbCommand("insert into Tab_Prize (Awards,PrizeName,Count,Total,Probability,HotKey,HotKeySure,IsEnable,RunSound) values (Awards,PrizeName,Count,Total,Probability,HotKey,HotKeySure,IsEnable,Ru

15、nSound)", FormMain.Conn); OleDbParameter para = new OleDbParameter("Awards", OleDbType.Char, 255); para.Value = TB_Awards.Text; scd.Parameters.Add(para); para = new OleDbParameter("PrizeName", OleDbType.Char, 255); para.Value = TB_PrizeName.Text; scd.Parameters.Add(para); pa

16、ra = new OleDbParameter("Count", OleDbType.Integer, 4); para.Value = Convert.ToInt32(TB_Count.Text); scd.Parameters.Add(para); para = new OleDbParameter("Total", OleDbType.Integer, 4); para.Value = Convert.ToInt32(TB_Total.Text); scd.Parameters.Add(para); para = new OleDbParamete

17、r("Probability", OleDbType.Integer, 4); para.Value = Convert.ToInt32(TB_Probability.Text); scd.Parameters.Add(para); para = new OleDbParameter("HotKey", OleDbType.Char, 255); char cKeys = CB_HotKey.Text.ToCharArray(); try switch (CB_HotKey.Text) case "SPACE": para.Value

18、 = "32" break; case "ENTER": para.Value = "13" break; case "BACKSPACE": para.Value = "8" break; case "ESC": para.Value = "27" break; default: para.Value = Convert.ToString(int)cKeys0); break; catch para.Value = "" scd.Pa

19、rameters.Add(para); para = new OleDbParameter("HotKeySure", OleDbType.Char, 255); char cKeysSure = CB_HotKeySure.Text.ToCharArray(); try switch (CB_HotKeySure.Text) case "SPACE": para.Value = "32" break; case "ENTER": para.Value = "13" break; case &q

20、uot;BACKSPACE": para.Value = "8" break; case "ESC": para.Value = "27" break; default: para.Value = Convert.ToString(int)cKeysSure0); break; catch para.Value = "" scd.Parameters.Add(para); para = new OleDbParameter("IsEnable", OleDbType.Integer,

21、4); para.Value = Convert.ToInt32(CB_IsEnable.Checked); scd.Parameters.Add(para); para = new OleDbParameter("RunSound", OleDbType.Char, 255); para.Value = TB_SoundPlay.Text; scd.Parameters.Add(para); scd.ExecuteNonQuery(); LV_Prize_Refresh(); LBState.Text = "添?加ó完?成é,共2"

22、 + LV_Prize.Items.Count.ToString() + "条?记?录?" TB_Awards.Text = "" TB_PrizeName.Text = "" TB_Count.Text = "" TB_Total.Text = "" TB_Probability.Text = "" CB_HotKey.Text = "" CB_HotKeySure.Text = "" TB_SoundPlay.Text = &quo

23、t;" catch (Exception ex) LBState.Text = "添?加ó操ù作痢?失骸?败悒?" + ex.Message; private void BTN_Save_Click(object sender, EventArgs e) if (TB_Awards.Text = "") LBState.Text = "注痢?意癮:阰奖±项?名?称?不?能ü为a空?." TB_Awards.Focus(); return; LBState.Text = "正y

24、在ú更ü新?,?请?稍?后ó." try OleDbCommand scd = new OleDbCommand("update Tab_Prize set Awards=Awards,PrizeName=PrizeName,Count=Count,Total=Total,Probability=Probability,HotKey=HotKey,HotKeySure=HotKeySure,IsEnable=IsEnable,RunSound=RunSound where PrizeID=" + LB_ID.Text, FormMai

25、n.Conn); OleDbParameter para = new OleDbParameter("Awards", OleDbType.Char, 255); para.Value = TB_Awards.Text; scd.Parameters.Add(para); para = new OleDbParameter("PrizeName", OleDbType.Char, 255); para.Value = TB_PrizeName.Text; scd.Parameters.Add(para); para = new OleDbParamete

26、r("Count", OleDbType.Integer, 4); para.Value = Convert.ToInt32(TB_Count.Text); scd.Parameters.Add(para); para = new OleDbParameter("Total", OleDbType.Integer, 4); para.Value = Convert.ToInt32(TB_Total.Text); scd.Parameters.Add(para); para = new OleDbParameter("Probability&qu

27、ot;, OleDbType.Integer, 4); para.Value = Convert.ToInt32(TB_Probability.Text); scd.Parameters.Add(para); para = new OleDbParameter("HotKey", OleDbType.Char, 255); char cKeys = CB_HotKey.Text.ToCharArray(); try switch (CB_HotKey.Text) case "SPACE": para.Value = "32" brea

28、k; case "ENTER": para.Value = "13" break; case "BACKSPACE": para.Value = "8" break; case "ESC": para.Value = "27" break; default: para.Value = Convert.ToString(int)cKeys0); break; catch para.Value = "" scd.Parameters.Add(para); pa

29、ra = new OleDbParameter("HotKeySure", OleDbType.Char, 255); char cKeysSure = CB_HotKeySure.Text.ToCharArray(); try switch (CB_HotKeySure.Text) case "SPACE": para.Value = "32" break; case "ENTER": para.Value = "13" break; case "BACKSPACE": p

30、ara.Value = "8" break; case "ESC": para.Value = "27" break; default: para.Value = Convert.ToString(int)cKeysSure0); break; catch para.Value = "" scd.Parameters.Add(para); para = new OleDbParameter("IsEnable", OleDbType.Integer, 4); para.Value = Conve

31、rt.ToInt32(CB_IsEnable.Checked); scd.Parameters.Add(para); para = new OleDbParameter("RunSound", OleDbType.Char, 255); para.Value = TB_SoundPlay.Text; scd.Parameters.Add(para); scd.ExecuteNonQuery(); LV_Prize_Refresh(); LBState.Text = "更ü新?完?成é,共2" + LV_Prize.Items.Coun

32、t.ToString() + "条?记?录?" TB_Awards.Text = "" TB_PrizeName.Text = "" TB_Count.Text = "" TB_Total.Text = "" TB_Probability.Text = "" CB_HotKey.Text = "" CB_HotKeySure.Text = "" TB_SoundPlay.Text = "" BTN_Cancel.Vi

33、sible = false; BTN_Save.Visible = false; BTN_Add.Visible = true; BTN_Del.Visible = true; catch (Exception ex) LBState.Text = "更ü新?操ù作痢?失骸?败悒?" + ex.Message; private void BTN_Cancel_Click(object sender, EventArgs e) BTN_Cancel.Visible = false; BTN_Save.Visible = false; BTN_Add.Vis

34、ible = true; BTN_Del.Visible = true; TB_Awards.Text = "" TB_PrizeName.Text = "" TB_Count.Text = "" TB_Total.Text = "" TB_Probability.Text = "" CB_HotKey.Text = "" CB_HotKeySure.Text = "" LB_ID.Text = "" TB_SoundPlay.Text

35、 = "" private void LV_Prize_DoubleClick(object sender, EventArgs e) LB_ID.Text = LV_Prize.SelectedItems0.Text; TB_Awards.Text = LV_Prize.SelectedItems0.SubItems1.Text; TB_PrizeName.Text = LV_Prize.SelectedItems0.SubItems2.Text; TB_Count.Text = LV_Prize.SelectedItems0.SubItems3.Text; TB_Tot

36、al.Text = LV_Prize.SelectedItems0.SubItems4.Text; TB_Probability.Text = LV_Prize.SelectedItems0.SubItems5.Text; CB_HotKey.Text = LV_Prize.SelectedItems0.SubItems6.Text.Replace("CTRL+", ""); CB_HotKeySure.Text = LV_Prize.SelectedItems0.SubItems7.Text.Replace("CTRL+", &qu

37、ot;"); TB_SoundPlay.Text = LV_Prize.SelectedItems0.SubItems9.Text; CB_IsEnable.Checked = Convert.ToBoolean(Convert.ToInt32(LV_Prize.SelectedItems0.SubItems8.Text); BTN_Add.Visible = false; BTN_Del.Visible = false; BTN_Cancel.Visible = true; BTN_Save.Visible = true; private void BTN_Del_Click(ob

38、ject sender, EventArgs e) for (int i = 0; i < LV_Prize.Items.Count; i+) if (LV_Prize.Itemsi.Selected) OleDbCommand odc = new OleDbCommand("delete * from tab_Prize where PrizeID=" + LV_Prize.Itemsi.Text, FormMain.Conn); odc.ExecuteNonQuery(); LV_Prize_Refresh(); LBState.Text = "执行D删?除y操ù作痢?完?毕?,?现?共2" + LV_Prize.Items.Count.ToString() + "条?记?录?" private void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论