C#课程设计模拟抽奖软件设计Word文档格式.docx
《C#课程设计模拟抽奖软件设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《C#课程设计模拟抽奖软件设计Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
2.4系统界面设计…………………………………...……..3
3.数据描述…….......................................................................3
3.1使用说明……..................................................................3
3.2功能划分……..................................................................5
4.源代码………………………………………………………6
5.个人总结……........................................................................22
6.参考文献……........................................................................23
7.教师签字及评语…….............................................................24
模拟抽奖软件
·
1引言
1.1课程设计的目的
1.通过本次设计掌握使用C#语言中窗体的建立,各个控件的使用,以及界面的设计。
2.进一步巩固所学的C#以及数据库的相关理论知识,提高分析和解决实际问题的能力。
3.初步掌握使用C#工具设计一个具体实例的方法,包括软件的设计,调试的全过程。
1.2设计特点和要求
设计抽奖模拟的运行界面;
1、奖项及规则基础数据维护;
2、随机抽奖功能;
3、能将获奖数据进行存储、管理,并提供能活的查询功能功能。
1.3定义
专业术语与缩略词
抽奖:
以抽签法给买主奖品。
商人招徕顾客的一种手段。
2任务简述
2.1课设任务
1.根据技术要求和现有开发环境,分析题目
2.选定方案
3.使用C#语言和.net框架,并结合数据库,实现软件
4.调试、修改并完善程序
2.2课设要求
1.奖项及规则基础数据维护;
2.随机抽奖功能;
3.能将获奖数据进行存储、管理,并提供能活的查询功能功能。
2.3系统设计
1.功能方面:
随机抽奖功能;
对奖项设置;
查询。
2.性能:
用户可以在没有任何经验的前提下准确操作软件
3.输入:
用户通过外接键盘进行输入
2.4系统界面设计
3用户设置见面
3.1使用说明
用例解说:
主界面:
按界面提示信息按键开始抽奖
右键主界面可按照提示进入设置界面
设置界面操作:
需要输入验证密码;
输入正确:
可对程序进行相关设置。
输入错误:
提示错误信息。
一般设置:
主标题:
对主标题进行设置;
()
副标题:
有需要的清空可以设置副标题
下方提示信息:
可以按自己的要求更改提示
提示音:
可自定义提示抽奖时的声音;
抽奖按钮设置:
在下拉列表中选择按钮
滚动时间设置:
可对抽奖时间进行设置;
程序密码:
对登录程序密码的更改
奖项设置:
奖项名称:
对奖项的等级的描述
奖品名称:
对中奖内容的描述
已抽取:
设定已经被抽走的奖品数量
总数:
奖品的总数(数量多少不能决定抽奖概率!
)
中奖概率:
设置中奖概率,单位%
提示音:
设定抽奖中奖是的时的声音
后门系统:
可以调节后大大提高设定的奖品的抽中概率,或者是100%中奖
3.2功能划分
6源代码
FormSetup
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.OleDb;
namespaceChouJiang
{
publicpartialclassFormSetup:
Form
{
BooleanbPassFlag;
stringsPassWord;
publicFormSetup()
InitializeComponent();
}
privatevoidFormSetup_Load(objectsender,EventArgse)
try
Iniini=newIni(FormMain.sCurrentDir+"
/Config.ini"
);
TB_Title.Text=ini.ReadValue("
Setting"
"
TB_Title"
TB_Remark.Text=ini.ReadValue("
TB_Remark"
TB_Space.Text=ini.ReadValue("
TB_Space"
TB_iTimerStop.Text=ini.ReadValue("
iStopTimer"
TB_Sound.Text=ini.ReadValue("
TB_Sound"
sPassWord=ini.ReadValue("
SetupPassWord"
switch(Convert.ToInt32(ini.ReadValue("
CB_StartKey"
)))
case32:
CB_StartKey.Text="
SPACE"
;
break;
case13:
ENTER"
case8:
BACKSPACE"
case27:
ESC"
default:
CB_StartKey.Text=Convert.ToString((char)Convert.ToInt32(ini.ReadValue("
)));
catch
LV_Prize_Refresh();
bPassFlag=false;
tabControl1.SelectTab
(2);
publicvoidLV_Prize_Refresh()
LV_Prize.Items.Clear();
OleDbDataAdaptersda=newOleDbDataAdapter("
select*fromtab_Prize"
FormMain.Conn);
DataSetds=newDataSet();
sda.Fill(ds,"
tab_Prize"
for(inti=0;
i<
ds.Tables["
].Rows.Count;
i++)
LV_Prize.Items.Add(ds.Tables["
].Rows[i].ItemArray[0].ToString());
for(intj=1;
j<
].Columns.Count;
j++)
if((j==6||j==7)&
&
].Rows[i].ItemArray[j].ToString()!
="
"
switch(Convert.ToInt32(ds.Tables["
].Rows[i].ItemArray[j].ToString()))
LV_Prize.Items[i].SubItems.Add("
CTRL+SPACE"
CTRL+ENTER"
CTRL+BACKSPACE"
CTRL+ESC"
CTRL+"
+Convert.ToString((char)Convert.ToInt32(ds.Tables["
].Rows[i].ItemArray[j].ToString())));
else
LV_Prize.Items[i].SubItems.Add(ds.Tables["
].Rows[i].ItemArray[j].ToString());
privatevoidBTN_Add_Click(objectsender,EventArgse)
if(TB_Awards.Text=="
LBState.Text="
注痢?
意癮:
阰奖±
项?
名?
称?
不?
能ü
为a空?
..."
TB_Awards.Focus();
return;
正y在ú
添?
加ó
,?
请?
稍?
后ó
OleDbCommandscd=newOleDbCommand("
insertintoTab_Prize(Awards,PrizeName,[Count],[Total],Probability,HotKey,HotKeySure,IsEnable,RunSound)values(@Awards,@PrizeName,@Count,@Total,@Probability,@HotKey,@HotKeySure,@IsEnable,@RunSound)"
OleDbParameterpara=newOleDbParameter("
@Awards"
OleDbType.Char,255);
para.Value=TB_Awards.Text;
scd.Parameters.Add(para);
para=newOleDbParameter("
@PrizeName"
para.Value=TB_PrizeName.Text;
@Count"
OleDbType.Integer,4);
para.Value=Convert.ToInt32(TB_Count.Text);
@Total"
para.Value=Convert.ToInt32(TB_Total.Text);
@Probability"
para.Value=Convert.ToInt32(TB_Probability.Text);
@HotKey"
char[]cKeys=CB_HotKey.Text.ToCharArray();
switch(CB_HotKey.Text)
case"
:
para.Value="
32"
13"
8"
27"
para.Value=Convert.ToString((int)cKeys[0]);
@HotKeySure"
char[]cKeysSure=CB_HotKeySure.Text.ToCharArray();
switch(CB_HotKeySure.Text)
para.Value=Convert.ToString((int)cKeysSure[0]);
@IsEnable"
para.Value=Convert.ToInt32(CB_IsEnable.Checked);
@RunSound"
para.Value=TB_SoundPlay.Text;
scd.ExecuteNonQuery();
完?
成é
共2"
+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="
catch(Exceptionex)
操ù
作痢?
失骸?
败悒?
+ex.Message;
privatevoidBTN_Save_Click(objectsender,EventArgse)
更ü
新?
updateTab_PrizesetAwards=@Awards,PrizeName=@PrizeName,[Count]=@Count,[Total]=@Total,Probability=@Probability,HotKey=@HotKey,HotKeySure=@HotKeySure,IsEnable=@IsEnable,RunSound=@RunSoundwherePrizeID="
+LB_ID.Text,FormMain.Conn);
para.Value