C#出题库项目的总结(1)
2018-06-17 21:59:59来源:未知 阅读 ()
前记:
截止18点05分(4月9号),完成了代码部分的编写,明天争取把文档完成,毕竟在这个上面花的时间太多了,还有单词和书需要背,好吧,不说废话啦,下面进入正题。
(PS:因为学院的模拟招聘笔试出题和安排耽误了这么几天没上来写,我忏悔)
正文:
我使用的开发环境是Vs 2013和Sql server 2012,以下先说窗体设计部分:
1、(mainForm.cs)截图如下
(1)左边为查询题目的条件选择:
a)上面部分:四个label和四个comboBox。label分别设置其Text对应指示comboBox的意义;comboBox设置其DropDownStyle为DropDownList也就是我们常说的下拉菜单(Ps:该属性一共有三个属性,另外两个为Simple设置之后的功能类似TextBox,DropDown设置之后的功能为DropDownList+Simple)
b)下面部分:一个Text为“查询”的Button,该控件关联一个click事件,用于连接数据库查询符合对应条件的题目。(Ps:关于事件的绑定有两种常用的快捷方式:1、直接双击对应控件,如此处的Button则会自动绑定click事件;2、右键,打开“属性”,点击“事件”按钮(那个闪电的符号),找到对应的事件,双击则自动绑定对应事件。两者的区别:第一种方法只会绑定最常用的默认的事件,如button对应click,下拉菜单对应change,而第二种方法则可以绑定所有事件)
(2)右边为题目展示部分:
a)上面部分:一个label和一个RichTextBox。label的Text赋值为"here",文本没有特殊意义,只是方便设计的时候查看label位置;该label用于指示符合条件的题目的总数和用户当前查看的是第几题(输出的格式如:"查询题目总数为【3】个/当前为第【2】个")。因为此处RichTextBox只用于展示信息,即“只读”,故设置其ReadOnly属性值为True;其输出值为四种形式:1、初始化:“请选择搜索的条件...” 2、任一Combobox的值改变后,“请点击查询按钮进行搜索...” 3、查询成功,将相应的题目显示 4、查询失败,提示用户“没有找到对应题目”
b)下面部分:两个Button,一个Text值为“上一题”,一个Text值为“下一题”。两个控件的功能想必也是清楚明了的,就是在查询成功后,题目数目大于1的情况下,向前或向后调转展示题目。两者在设计的时的条件设置和边界判断,这点在之后的代码部分再详述。
2、登录窗体(loginForm.cs)截图如下:
(Ps:吐个槽,其实并没有登录功能,只是任性想做窗体的调转,结果因为花样作死,还出现个问题弄好久。。。)
(1)上面部分:三个label,展示我们的设计理念,我们的设计理念就是没有理念,对的,就是这样,喵~
(2)下面部分:一个Button绑定click事件,将本窗体隐藏,将mainForm显示出来。因为这个窗体的控件设计简单,就直接把代码和我遇到的那个蛋疼的问题在这里讲述,之后专门讲代码的部分就只涉及mainForm的代码了。
(3)loginForm的代码部分:
代码部分就简单的两句,就是这两句折腾了好半天:
this.hide(); new mainForm().show();
遇到的问题是一旦改动代码,再次运行就报错
ho no,妈妈我做错了什么,调了半天,不晓得咋子弄,只有求助外援,大神,求指教~
大神就说了一句,看看任务管理器。好的呢~
查看任务管理器,可以很清楚的看到,虽然关闭了窗体但是程序依然在运行中:
问题是这个问题,但显然这里还有一个更需要问的问题,到底是因为什么会在窗体关闭的时候,程序还在运行呢?
this.hide();//<-妈妈就是它欺负我
loginForm窗体还在运行,因为是设置的为入口的窗体,即为主窗体,所以如果在调转的时候用close()代替hide()会出现闪现然后关闭的效果,而没法将mainForm展示出来
Application.Run(new loginForm());
改正的方法网上有挺多的,我采用的是给mainForm加一个FormClosed事件,语句很简单而且关闭得很彻底
System.Environment.Exit(0);//当关闭mainForm窗体时,退出整个程序
总结:
设计的部分就大概这些,用到的知识基本是原来学习过的内容,这个部分算是一个准备阶段,帮助我回忆知识,也回顾了一些书本上的知识,算是为代码阶段做个热身活动吧,最后就用大神给我说的话做个结尾,调试模式要用好,不然出Bug的锅自己背:p
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
- svn下载项目的时候出现 Path to certificate 2019-08-13
- Python基础总结之第二天从变量开始(新手可相互督促) 2019-07-24
- 基于tornado---异步并发接口 2019-07-24
- Python基础总结之第一天(新手可相互督促) 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash