C#学生管理系统——主界面和年级列表

C#学生管理系统——主界面和年级列表

上次的登陆功能做好了,今天就来做学生管理系统的主界面,如下图:
C#学生管理系统——主界面和年级列表_第1张图片分为学生管理,班级管理,年级管理和退出四个菜单,学生管理和班级管理的子菜单分别是新增和查询列表。
下拉列表对应控件是comboBox,分别给这些子菜单起名字,方便后面使用。
新增学生——addstudent
学生列表——liststudent
新增班级——addclass
班级列表——listclass
年级列表——listgrade
退出——exit

布局好了以后,点击任意一个子菜单,都有新的窗口跳出,分别要添加5个新窗口,对应窗口中间加了下划线,如add_student等

跳转窗口,代码如下:

  private void addstudent_Click(object sender, EventArgs e)
        {
            add_student ads = new add_student();     
            ads.Show();
        }

每个子菜单的点击事件都是这样做,退出功能如下:

 private void miexit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

年级列表的设计:

跳转到年级列表:
首先年级列表显示如下:
要想以表格的形式展示出来,需要用到控件Datagridview,该控件有个Dock的属性是用来绑定到窗体边框(就是固定位置的),所展示的内容就要右键编辑列来添加(有点像excel)。

C#学生管理系统——主界面和年级列表_第2张图片

注意:DataPropertyName这个属性一定要和数据库中的名称对应,如我数据库中grade表中id就和年级编号的该属性对应,gname就和年级名称该属性对应。
C#学生管理系统——主界面和年级列表_第3张图片C#学生管理系统——主界面和年级列表_第4张图片
年级列表的布局做好后,进行数据库设计,后续会多次用到显示列表,于是我写了一个单独的一段,方便后面调用:

 //列表的调用   要新建一个表   然后建立适配器
        public static DataTable getDataTable(string sql)
        {
            ///新建表对象
            DataTable dt = new DataTable();
            //建立连接
            OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Documents\\student.accdb");
            //执行sql语句 一定是command来完成
            OleDbCommand cmd = new OleDbCommand(sql, con);
            //dataadapter自动打开和关闭链接,new一个dataadapter,selectcommand获取cmd的sql语句
            OleDbDataAdapter oda = new OleDbDataAdapter();
            oda.SelectCommand = cmd;
            oda.Fill(dt);   //用适配对象填充表对象
            return dt;
        }

数据库中的内容写好了,现需要一点开年级列表就加载出所有年级,则在list_grade_Load方法中写入sql语句:

 private void list_grade_Load(object sender, EventArgs e)
        {
            //获取数据
            string sql = "select * from [grade]";
            DataTable dt= sqlhelper.getDataTable(sql);
            dgvgrade.DataSource=dt;
            
        }

这样年级列表就做好了,下图是结果:
C#学生管理系统——主界面和年级列表_第5张图片
下次写班级管理的班级列表。

你可能感兴趣的:(C#学生管理系统——主界面和年级列表)