十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近一直在跟着老师用在.Net平台上C#开发教务管理系统,感觉里面代码涉及的方面还挺多的,而且牵扯到的业务方面的东西也不少,比如权限分配、托盘程序、导入导出Execl文件等之前没有学过的各种知识点。
创新互联是一家专业提供马关企业网站建设,专注与网站设计制作、网站制作、H5场景定制、小程序制作等业务。10年已为马关众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
现在我就大体将一下这个项目的简单开发步骤:
首先,我们要建一个登录界面,这个大多CS架构必备最重要的一项,登录界面的效果好坏有可能直接关系到此项目的受欢迎程度。登录界面,我总结出大体有两种,一种是像腾讯那样一个将登录界面作为一个独立的窗体,另外一种则是像360那样在主页面上有登录选项,这两者之所以不一样,是因为前者必须通过不同账号来进行下一步的操作,而360主要是实现功能,没有账号也不妨碍使用。在登录界面上,必须要有的功能就是记住密码,其次在CS架构上是可以添加头像这个功能的,但在下感觉如果你的项目没有那么大的商业性质的话,没有必要加上验证码来阻止用户多次登录。
接下来,我们要说的就是权限分配。每当登录一个用户,系统就会通过你的用户名到数据库中判断你这个用户拥有什么权限,相应的主窗体里菜单项就会变为可用,我用的ToolStrip控件,在用户登录前将所有菜单项均设为不可用状态。如果是类似QQ的登录界面,那还要考虑到跨页面传值,就要在主窗体写一个方法进行重载。
权限分配好了,我们的托盘程序现在就会有相应的提示,如果你有相应的工作没有完成,它就会冒泡,来提示你哪些工作尚未完成。冒泡窗体的弹出与关闭,就是通过控制这个窗体的X、Y坐标来控制的,一般都是右下角这个位置,还要至少加上两个Timer控件,一个控制升上来,一个控制降下去。而且在这又要用到跨界面传值,由此可见,方法的重载是多么的重要。
我划分的功能有学生管理、教师管理、领导管理以及系统设置。学生管理下又分为学籍管理、成绩管理、请加管理和点名册。教师管理下只有一个日志管理。领导管理下划分了请假审批和日志审批。最后的系统设置中划分了课时费设置、用户管理和退出。
学生管理中,值得一提的就是DataGridView的一些用法,一定要在含有DataGridView控件的界面上加上分页效果,在必要的时候,可以加上一个双击DataGridView就会弹出一条详细记录,还有可以在DataGridView上加一个鼠标跟随选中整行的效果,其实加不加都无所谓,只是不怎么好看,呵呵。。。分页的效果建议采用BindingNavigator和BindingSource控件来实现。
教师管理中,导入导出Execl表是必须有的,因为日志是牵扯到财务问题的,不推荐用控件的方式,可以用文件流来进行操作。
领导管理中,最主要的就是审批,要在DataGridView内添加两列按钮(DataGridViewButtonColumn),来判断其是否审批通过,在这控制不好的就是它的顺序问题,可以将DisplayIndex的值统统设为最后一列的值即可。
系统设置中,用户编辑则是最烦琐而又重要的,里面每一个的权限分配都是用一个复选框表示的,在数据库中的界面上每一个权限则对应一个字段,这里的权限是在注册用户的时候给予分配的,之后可以通过拥有最高权限的用户进行权限的编辑。在输入用户名的时候,可以在textBox的双击事件中写一段代码,让它可以出现一个”下拉菜单”式的表,里面是所有用户名,这里用一个隐藏的DataGridView就可以实现,如此灵活的操作,可以让你的系统更加的人性化,如果记不住用户名的,那往后的麻烦的可想而知。
在这里呢,跟大家分享一下在下关于最近接触的这个”学籍管理系统”的一些开发经验吧,初生牛犊,才疏学浅,还望江湖上各位大侠海涵。