前记:

截止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

转载于:https://www.cnblogs.com/zllwebstudy/p/5377658.html

C#出题库项目的总结(1)相关推荐

  1. android studio 库项目管理,在Android Studio中将现有项目转换为库项目

    在模块的applicationId文件中(如果使用模块,则不是根项目!),只需替换: apply plugin: 'com.android.application' // or, if you're ...

  2. Visual Stdio 无法直接启动带有“类库输出类型”的项目若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项目!

    Visual Stdio 无法直接启动带有"类库输出类型"的项目若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目.将这个可执行项目设置为启动项目! 参考文章: (1) ...

  3. ECShop 模板库项目功能详解

    2019独角兽企业重金招聘Python工程师标准>>> 本文希望能给想了解ECShop库项目功能的人提供一些帮助.ec的高手就可以忽略了,有不同意见的朋友欢迎提意见. 许多刚接触 E ...

  4. 【Android 逆向】Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )

    文章目录 一.adabingo 静态库项目中的网络操作核心类 CNetwork 分析 一.adabingo 静态库项目中的网络操作核心类 CNetwork 分析 CNetwork 相关方法分析 : 等 ...

  5. [WPF自定义控件] 开始一个自定义控件库项目

    1. 目标 我实现了一个自定义控件库,并且打算用这个控件库作例子写一些博客.这个控件库主要目标是用于教学,希望通过这些博客初学者可以学会为自己或公司创建自定义控件,并且对WPF有更深入的了解. 控件库 ...

  6. 06_NetBean主类使用库项目类中的方法

    应用程序将包含两个项目 1,一个Java类库项目,创建实用程序类. 2,一个Java Application项目,其主类使用库项目类中的方法. 创建项目后,您将库项目类添加到应用程序项目的类路径中. ...

  7. android 使用mupdf,将MuPDF集成为库项目(Android)

    所以我基于PDF阅读器(MuPDF)构建了这个项目.我使用了ndk-build.这个项目的名称是ChoosePDFActivity.我知道它已经正确构建,因为我可以在libs / armrabi-v7 ...

  8. [STM32CubeIDE]创建HAL库项目

    利用STM32CubeIDE创建HAL库项目相对容易 *随着CubeIDE的版本更新使用ST-Link.J-Link以外的调试器越来越复杂 *系统时钟问题可以用MCO功能排查,不起振不一定是晶振的问题 ...

  9. 中国PPP管理库项目累计投资额13.2万亿元

    中新社北京1月31日电 (记者 赵建华)中国财政部政府和社会资本合作(PPP)中心(下称财政部PPP中心)31日公布全国PPP综合信息平台项目管理库2018年报.截至2018年12月末,管理库项目累计 ...

最新文章

  1. 基于GPUImage的多滤镜rtmp直播推流
  2. 在.net2.0下使用System.Web.Script.Serialization;
  3. 软件事务内存导论(五)创建嵌套事务
  4. python创建字典的两种方法
  5. windows phone 7 学习笔记 五 TileSample
  6. 01-Axure9入门培训
  7. 向日葵深度linux,完美使用向日葵远程软件
  8. JFugue4.0 中文说明
  9. 数据结构(排序)2021-06-13
  10. Java实现比较APP版本号大小
  11. Android神兵利器之黄油刀的使用(ButterKnife)
  12. Pr:创建和使用收录预设
  13. B860AV2.1刷机/救砖
  14. (一)--使用RSA公钥证书解密
  15. 【文章思路、算法分析】Membership Inference Attacks Against Machine Learning Models
  16. 你是将才还是帅才?--将才与帅才的十二个差异
  17. Social Recommendation with Implicit Social Influence
  18. 显示器动态测试软件,Dimensions for mac
  19. remote sensing 投稿流程
  20. 连接虚拟服务器是什么意思,虚拟主机(服务器)iis连接数是什么意思?超过最大链接...

热门文章

  1. 跨网段远程调试vs_使用 VS 2019 跨平台编写和调试 Linux C/C++程序
  2. linux vcenter6.5下载,vCenter 6.0更新至6.5
  3. python中多对多替换_Python对指定文件内容进行全局替换
  4. python语句分为什么_Python为什么使用缩进来分组语句?
  5. python 投票计数器全班50人3个候选人_Python程序为STV投票系统,为每个人加上所有的第一偏好票...
  6. c语言实现软件锁相环,锁相环系统及锁相环系统的实现方法技术方案
  7. 使用DOM4J解析XML及采用Schema校验的方法
  8. 英语学习笔记2019-10-18
  9. 【BZOJ2809】【codevs1763】派遣,主席树记录前缀和
  10. java加载图片白屏,tomcat白屏~