C

雅轩聊科技 2024-08-07 17:31:24

哈喽,你好啊,我是雷工!

在网上经常可以看到这句评论,说是面试造火箭,入职拧螺丝。

可见职场上大部分岗位的大部分工作内容其实并没有太复杂,常用的基本都是复制粘贴就能搞定的内容。

学习也是一样,要化繁就简,掌握绝大部分基础内容,学会自己学习,遇到稍微复杂的能够通过查资料看手册解决问题就行。

更多的学习其实并不是局限于某一种语言,某一款软件,重要的是编程开发思想,以及积累的技巧和经验,

基于学过的内容和学习经验,再学习新的内容就会比较容易。

接下来练习实现添加人员信息功能的一些优化,以下为练习笔记。

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 后记

作为一个产品,一个系统,代码的编写只是其中一部分,是为了实现更人性化功能服务,

主要功能的实现能用是一方面,更人性化的细节优化,有时候是造就口碑和商业化是否成功的关键。

你在项目开发中有哪些精妙的设计?欢迎在评论区或交流群内探讨沟通。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注