600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.0

基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.0

时间:2020-11-17 04:39:22

相关推荐

基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.0

文章目录

一、前言二、功能明细三、效果演示四、界面布局五、代码详解5.1 获取班级列表5.2 获取学生名单5.3 置顶功能

一、前言

今天早上,还在上班路上的我,突然收到初中老师的微信。

问我最近有没有空帮他搞一个教室点名系统。

这,必须有空啊。

这不,抽空,三下五除二,一小时左右搞定。

二、功能明细

可以选择不同教室可以修改学生名单可以随机抽点学生可以将软件置顶,PPT放映的时候也能点名

三、效果演示

基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.0

四、界面布局

一个ListView,用来显示教室列表一个Label,用来显示学生名单一个Label,用来显示被抽中的学生名称一个随机点名按钮一个刷新按钮,用来刷新目录下面的txt文件一个置顶按钮,用来控制程序是否置顶最后一个Label,用来宣示主权,哈哈

五、代码详解

5.1 获取班级列表

班级列表是通过读取exe目录下面的txt文件有几个txt文件就等于有几个班级老师想要增删改查班级,直接增删改查exe目录下面的txt文件即可

List<string> roomList = new List<string>();private void getRoomList(){List<ListViewItem> items = new List<ListViewItem>();DirectoryInfo root = new DirectoryInfo(System.Environment.CurrentDirectory);roomList.Clear();foreach (FileInfo f in root.GetFiles()){if (f.FullName.Contains(".txt")){Console.WriteLine(f.FullName);List<string> rows = new List<string>();rows.Add(f.Name);items.Add(new ListViewItem(rows.ToArray()));roomList.Add(f.FullName);}}roomListView.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度 roomListView.Items.Clear();roomListView.Items.AddRange(items.ToArray());roomListView.EndUpdate(); //结束数据处理,UI界面一次性绘制。if (roomListView.Items.Count > 0){roomListView.Items[0].Selected = true;}}

Form1_Load时调用在刷新按钮点击是调用

private void Form1_Load(object sender, EventArgs e){//列表初始化roomListView.Columns.Clear();roomListView.Columns.Add("教室", 120);getRoomList();}private void updateTxtBtn_Click(object sender, EventArgs e){getRoomList();}

5.2 获取学生名单

对应班级的学生名单是存在对应txt文件下通过换行来分割人名获取对应班级的学生名单只要读取对应txt文件内容即可

private void getNameList(string path){StreamReader streamReader = new StreamReader(path, Encoding.UTF8);string content;string str = "";nameList.Clear();while ((content = streamReader.ReadLine()) != null){//Console.WriteLine(content.ToString());str += (content.ToString()+"、");nameList.Add(content.ToString());}streamReader.Close();str = str.Substring(0, str.Length-1);//去掉最后一个顿号、nameListLabel.Text = str;}

在班级被选中的时候,获取该班级的学生名单

private void roomListView_SelectedIndexChanged(object sender, EventArgs e){if (roomListView.SelectedItems.Count <= 0)return;int index = roomListView.SelectedItems[0].Index;Console.WriteLine("roomListView_SelectedIndexChanged index="+index);if (roomList.Count> index){getNameList(roomList[index]);}}

5.3 置顶功能

置顶TopMost是指该窗体是否始终显示在此属性未设置为true的所有其他窗体之上。

private void topMostBtn_Click(object sender, EventArgs e){if (this.TopMost){this.TopMost = false;topMostBtn.Text = "置顶";}else{this.TopMost = true;topMostBtn.Text = "取消置顶";}}

觉得好,就一键三连呗(点赞+收藏+关注)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。