哈喽,你好啊,我是雷工!
在网上经常可以看到这句评论,说是面试造火箭,入职拧螺丝。
可见职场上大部分岗位的大部分工作内容其实并没有太复杂,常用的基本都是复制粘贴就能搞定的内容。
学习也是一样,要化繁就简,掌握绝大部分基础内容,学会自己学习,遇到稍微复杂的能够通过查资料看手册解决问题就行。
更多的学习其实并不是局限于某一种语言,某一款软件,重要的是编程开发思想,以及积累的技巧和经验,
基于学过的内容和学习经验,再学习新的内容就会比较容易。
接下来练习实现添加人员信息功能的一些优化,以下为练习笔记。
01 效果演示优化内容为当点击【确认添加】按钮时,添加完成后弹出弹窗询问是否继续添加,
如果点击【是】则清空人员基本信息的文本框和选择框,并将光标定位到人员名称文本框处;
在列表显示中添加行号显示;
如果点击【否】则关闭添加人员子窗体;
①选择是时
②选择否时
02 实现步骤2.1、实现思路
①在添加数据成功后,弹窗询问是否继续添加;
②选择是继续添加,则通过循环将人员基本信息GroupBox中的TextBox控件的Text属性清空,将RadioButton控件的Checked设置为False,其他控件也设置为未选择状态;;
③选择否不再添加人员,则关闭当前子窗口;
④通过重绘的方式为同步展示列表添加序号;
2.2、询问弹窗
①GroupBox
修改GroupBox的Name属性为gbxPeople;
②实现代码:
//询问是否继续添加人员信息DialogResult result = MessageBox.Show("人员添加成功!是否继续添加?", "雷工提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);if(result==DialogResult.Yes){ //清空用户输入的信息 foreach(Control item in this.gbxPeoInfo.Controls) { if(item is TextBox) { item.Text = ""; } else if(item is RadioButton) { ((RadioButton)item).Checked = false; } } this.cboGroupName.SelectedIndex = -1; //his.rdoFemale.Checked = false; //this.rdoMale.Checked = false; this.pbpeo.Image = null; this.txtPeopleName.Focus();}else{ this.Close();}2.3、DataGridViewStyle类
在UI层的Common通用文件夹内添加DataGridViewStyle类,在该类中编写添加行号的方法;
代码如下:
namespace PeopleManager.Common{public DataGridViewStyle {public static void DgvRowPostPaint(DataGridView dgv,DataGridViewRowPostPaintEventArgs e) {try {//添加行号 SolidBrush v_SolidBrush = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor);int v_LineNo = 0; v_LineNo = e.RowIndex + 1;string v_Line = v_LineNo.ToString(); e.Graphics.DrawString(v_Line, e.InheritedRowStyle.Font, v_SolidBrush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5); }catch (Exception ex) { MessageBox.Show("添加行号时发生错误,错误信息:" + ex.Message, "操作失败");throw; } } }}2.4、添加行号
在确认添加按钮的事件中,在完成添加后调用上方方法即可实现添加行号的功能;
代码如下:
//添加行号private void dgvPeopleList_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e){ Common.DataGridViewStyle.DgvRowPostPaint(this.dgvPeopleList, e);}03 后记作为一个产品,一个系统,代码的编写只是其中一部分,是为了实现更人性化功能服务,
主要功能的实现能用是一方面,更人性化的细节优化,有时候是造就口碑和商业化是否成功的关键。
你在项目开发中有哪些精妙的设计?欢迎在评论区或交流群内探讨沟通。