优化内容

3、查询信息窗体——check复选框
界面简洁、设计美观,提供给用户需要的、满足用户的需求,给用户带来方便。所以,我在查询信息的窗体中,对于选查询方式,这部分做了一些改动。当加载完窗体时,因为用户还没有选择查询方式,为使界面简洁,满足用户所需要的需求即可,所以我将查询方式的check隐藏了起来。当用户设置某种查询方式时,check框便会出现,获得焦点,用户输入信息即可。当用户重新打开上次设置的查询方式时,为输入新的查询信息提供方便,所以将文本框清空,不保留上次输入的查询信息。实现功能的代码入下:

Private Sub Check1_Click(Index As Integer)If Check1(0).Value = 0 Then     '若check1(0)不被选中txtSID.Visible = False  '学号文本框不可见Else                            '若check1(0)被选中txtSID.Visible = True   '学号文本框可见txtSID.Text = ""        '学号文本框清空txtSID.SetFocus         '学号文本框获得焦点End IfIf Check1(1).Value = 0 Then     '若check1(1)不被选中txtName.Visible = FalseElsetxtName.Visible = TruetxtName.Text = ""txtName.SetFocusEnd IfIf Check1(2).Value = 0 Then     '若check1(2)不被选中txtClassno.Visible = FalseElsetxtClassno.Visible = TruetxtClassno.Text = ""txtClassno.SetFocusEnd If
End Sub

4、设置年级课程窗体——重复设置课程
套用源代码,当我们一次又一次单击设置课程按钮时,所有课程文本框的内容会发生更改,将所有课程又copy了一次又一次,显然这是不合理的,用户所能更改的是选择课程,而不是将已设置好的所有课程进行更改。按照源代码的方式,会出现的结果如图所示:

Private Sub cmdSet_Click()Dim mrc As ADODB.RecordsetDim txtSQL As StringDim MsgText As String'使各个控件有效Listallcourse.Enabled = TrueListselectcourse.Enabled = TruecmdModify.Enabled = True'查询数据txtSQL = "select * from course_Info"Set mrc = ExecuteSQL(txtSQL, MsgText)While (mrc.EOF = False) '添加内容到列表中listAllcourse.AddItem mrc.Fields(1)      mrc.MoveNextWendmrc.CloseflagSet = True
End Sub

这段代码运行结果是:

要解决这个问题,我们先要对listbox控件有所了解。additem、removeitem方法要了解,listindex和listcount属性要知道。简单一点说,additem是将项添加到列表框中的,removeitem是将项从列表框中删除的,listindex返回的是列表框list中当前选择项目的索引号码,listcount返回的是列表框list中项目总数。当我们知道到了这些基本内容,再来看代码就比较容易理解了。我们要解决这个问题,就需要从while wend段中入手了,修改这段代码来去除重复设置问题。解决的具体方法如下代码:

    While (mrc.EOF = False) If Listallcourse.ListCount <> mrc.RecordCount ThenListallcourse.AddItem mrc.Fields(1)End Ifmrc.MoveNextWendmrc.Close

此外,还有重复添加某一相同课程。源代码实现的功能如下图所示:

Private Sub cmdAdd_Click()If listAllcourse.ListIndex <> -1 ThenlistSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)End If
End Sub

运行结果:

我们想要的结果是,某一年级,同样的课程只需要添加一次即可,不需要同一年级重复添加某一课程。可以使用下面的代码片段解决这个问题:

'判断是否有内容被选中
If Listallcourse.ListIndex <> -1 ThenIf Listselectcourse.ListCount = 0 ThenListselectcourse.AddItem Listallcourse.List(Listallcourse.ListIndex)End If
For i = 0 To Listselectcourse.ListCount - 1If Listselectcourse.List(i) = Listallcourse.List(Listallcourse.ListIndex) ThenExit SubEnd If
NextListselectcourse.AddItem Listallcourse.List(Listallcourse.ListIndex)
End If

5、日期问题——调用日期控件,为用户提供方便;设置出生日期早于入学日期,要符合现实情况
6、文本框输入文本的限制,可参看文本框的限制方法
7、还有其他的一些优化,需要设置控件的属性等,遇到某一具体的控件,我们可以多了解一下该控件的属性

【学生信息管理系统】——优化篇(二)相关推荐

  1. 学生信息管理系统—优化错误篇

    [前言] 在我们敲学生信息管理系统的时候,难免会碰到错误.但是只要我们不犯低级错误,理清各个窗体的逻辑或运行过程,其实错误还不是很多.因为毕竟学生信息管理系统我们还可以参考给的那本pdf书,这本书中的 ...

  2. 学生信息管理系统—优化总结part2

    学生信息管理系统无时无刻不在进行优化,接下来继续给大家分享我对学生信息管理系统的优化,希望对大家有所帮助哦. 一.显示当前数据位置 Private Sub nextCommand_Click()If ...

  3. 学生信息管理系统—知识篇

    [前言] 虽然我敲完学生信息管理系统了,但是还有一些遗留的知识,包括师父们在验项目中提出的一些问题,所以我再总结一下学到的知识. [正文] 1.修改窗体中的mcclean是什么意思? 这是一个布尔类型 ...

  4. 高考学生信息管理系统(大二第一学期python期末项目)

    项目简介 采取堆排序实现对高考模拟数据分别基于各个单科成绩,总分等获取整体排序结果.topN排序结果和每个学生在西南地区的排名与所在省的排名. 采取快速排序实现基于学生的身份证与姓名查询对应考生的基本 ...

  5. 学生信息管理系统 —— 前端篇

    文章目录 Vue 单文件组件结构 反向代理配置 axios 路由 store 路由钩子函数 ElementUI Vue 采用 Vue-CLi创建的项目的结构(有后期项目的更新,可能具体文件与实际不符, ...

  6. 学生信息管理系统之测试篇

    学生信息管理系统之测试篇 一.学生信息管理系统测试用例设计 二.使用selenium工具对项目进行自动化测试 2.1 测试登录功能及登录后的查询功能 2.2 测试列表页的增加用户和删除用户功能 2.3 ...

  7. c语言 版本号,C语言版本学生信息管理系统

    仍然有一些小bug,后续会发布OC完善版的图书馆管理系统,欢迎批评指正. #include void menu_choose(); typedef struct { int Id; int age; ...

  8. 学生信息管理系统Java版(信息自动生成)

    文章目录 前言 一.学生信息管理系统内容要求 二.实现思路 1.构造学生对象 2.构造工具类 3.实现控制台交互 三.代码实现 四.效果展示 总结 前言 本案例作为对Java基础学习后的练习,掌握集合 ...

  9. C语言实现学生信息管理系统(附原码)

    本人的C语言学习完后,用所学的知识自己实现了一个学生管理系统,新手一个,代码还有待完善,欢迎大家在评论区指出错误! 一.流程图 二.函数的目录 三.程序介绍 1.主要功能:添加学生信息.打印学生信息. ...

  10. 学生信息系统管理——优化总结(干货篇二)

    引言 学生信息管理系统本身的代码和结构逻辑并不是那么的难,但是调错和优化确实花了我不少的时间,特别是优化,之前又没有任何的积累,做起来一点思路都没有.然后通过不断的在网上查找资料和师父现场验收时提出的 ...

最新文章

  1. 常量 - PHP手册笔记
  2. dataloader 源码_pytorch :: Dataloader中的迭代器和生成器应用
  3. math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析
  4. 用Navicat管理MySQL数据库
  5. java中String字符串的替换函数:replace与replaceAll的区别
  6. 「 Matlab 」矩阵运算讲解
  7. Install Anjuta
  8. 分析can波形及数据
  9. IDEA maven process terminated
  10. 阿里云ECS上CentOS关闭阿里云盾
  11. 正则表达式 基本汉字 特殊字符
  12. 实现手机扫描二维码页面登录,类似web微信-第三篇,手机客户端
  13. 廖金菊——湖南高尔夫旅游职业学院文化社诗人
  14. java word 颜色设置_通过Java设置Word页面背景色过程详解
  15. 基于STM32,TB6612,TCRT5000的简易红外循迹小车
  16. 暑假教师计算机培训总结,暑期教师培训心得体会4篇
  17. 11款开放中文分词引擎大比拼
  18. 全相位算法c语言表达,基于DSP的全相位FFT频率计设计.pdf
  19. web前端期末大作业 简单的学生网页作业源码 基于html css javascript绿色的在线教育平台网站响应式企业网站模板
  20. 金牛企业会员,到底是什么东西?

热门文章

  1. ext3文件系统反删除利器ext3grep应用实战
  2. Android -- onWindowFocusChanged
  3. Zabbix 3.0 部署监控 [三]
  4. 软件史上最伟大的十大程序员(图文)
  5. 谷胱甘肽口服、舌下含服、NAC对照实验
  6. tornado.httpclient.HTTPClient()的用法
  7. Logistic回归与梯度上升算法
  8. pynlpir(ICTCLAS)初步使用
  9. 数学狂想曲(十)——复变函数, 平稳离散时间随机过程, 功率谱
  10. java angularjs 跨域访问_angularjs跨域post解决方案