C#项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

2.7 基本信息管理模块设计

视频讲解

2.7.1 基本信息管理模块概述

基本信息管理窗体主要用来对企业的基本信息进行添加、修改、保存和删除等功能。在该窗体中,首先判断相同的企业信息是否已经存在,如果存在,“添加”按钮不能显示,用户只能对已经存在的企业信息进行修改、保存和删除操作,否则,显示“添加”按钮,这时,用户可以进行企业的添加、修改、保存和删除操作。基本信息管理窗体运行结果如图2.22所示。

图2.22 基本信息管理窗体

2.7.2 基本信息管理模块技术分析

在基本信息管理模块中,需要输入大量带有固定格式的信息,如联系电话、邮政编码、E-Mail、企业网址等。如果当这些信息输入有错误时,本模块通过使用ErrorProvider控件来显示错误信息提示,以告知操作人员重新输入正确的信息。下面将对ErrorProvider控件进行简要介绍。

ErrorProvider控件可以在不打扰用户的情况下向用户显示有错误发生。当验证用户在窗体中的输入或显示数据集内的错误时,一般要用到该控件。如图2.23所示为ErrorProvider控件。

图2.23 ErrorProvider控件

ErrorProvider控件通过SetError()方法设置指定控件的错误描述字符串。其语法格式如下:

    public void SetError(Control control,string value)

 control:要为其设置错误描述字符串的控件。

 value:错误描述字符串。

判断文本框中输入的数据是否准确,需要在控件的Validating事件中进行判断,然后设置ErrorProvider控件的错误描述字符串,当控件正在验证时会引发此事件。

例如,下面的示例代码验证在textBox1控件中输入的信息是否为空,若为空,则errorProvider1控件显示“红色”的图标,并提示“不能为空”的信息。

2.7.3 基本信息管理模块实现过程

 本模块使用的数据表:tb_CInfo

基本信息管理模块的具体实现步骤如下。

(1)新建一个Windows窗体,命名为frmBInfoManage.cs,用于实现企业基本信息管理功能,该窗体主要用到的控件、控件属性设置及其用途如表2.11所示。

表2.11 企业基本信息管理窗体主要用到的控件

(2)首先,声明公共类BaseOperate和OperateAndVaildate的两个全局对象,通过类对象调用类中的功能方法,然后声明3个保护类型的全局变量,分别用于表示SQL语句、数据表名和判断用户单击的是“添加”按钮,还是“修改”按钮。实现关键代码如下:

例程16 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

frmBInfoManage窗体的Load事件中,通过调用公共类BaseOperate中的getds()方法生成一个DataSet数据集,然后利用该数据集对DataGridView控件进行数据绑定,以显示企业基本信息。frmBInfoManage窗体的Load事件关键代码如下:

例程17 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

 代码贴士

❶ 调用公共类BaseOperate中的getds()方法生成一个DataSet数据集对象。

❷ DataSet.Tables[index].Rows.Count属性用来获取DataSet数据集中包含表的行数目。

单击“添加”按钮,将“保存”按钮的Enabled属性设置为true,并给全局变量M_int_judge赋值为0。“添加”按钮的Click事件代码如下:

例程18 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

“添加”按钮的Click事件中用到了自定义方法ClearText(),该方法为无返回值类型的自定义方法,它主要用来实现清空文本框内容的功能。ClearText()方法实现代码如下:

例程19 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

单击“修改”按钮,将“保存”按钮的Enabled属性设置为true,并给全局变量M_int_judge赋值为1。“修改”按钮的Click事件代码如下:

例程20 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

单击“保存”按钮,程序首先根据全局变量M_int_judge的值决定执行添加操作还是修改操作,然后利用公共类OperateAndVaildate的相应方法判断用户输入的信息是否正确,如果全部正确,则执行数据添加或修改操作。“保存”按钮的Click事件代码如下:

例程21 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

 代码贴士

❶ MessageBox.Show()方法用来在Windows应用程序中显示消息对话框。

❷ 调用公共类OperateAndValidate中的方法对文本框中的输入字符串进行验证。

❸ errorProvider组件的Clear()方法用来清除与此组件关联的所有错误。

❹ errorProvider组件的SetError()方法用来设置指定控件的错误描述字符串。

❺ 调用公共类BaseOperate中的getcom()方法执行SQL语句。

DataGridView控件中,选中企业的信息记录,单击“删除”按钮,可以将相应记录从数据表中移除。“删除”按钮的Click事件代码如下:

例程22 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs

 代码贴士

❶ DialogResult枚举用来指定标识符以指示对话框的返回值。

❷ DataGridView控件的CurrentCell属性用来获取或设置当前处于活动状态的单元格,RowIndex属性用来获取单元格的索引值。

该窗体中,当单击DataGridView控件的任意单元格时,其对应行的信息便显示在相应的TextBox文本框中。实现该功能的关键代码如下:

例程23 代码位置:资源包\TM\02\CRM\PInfoManage\frmBInfoManage.cs