第8章 Windows桌面程序开发实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.1.2 程序分析与代码
4. 实现添加记录的功能
sex = "女" End If CreatCustom(TxtName.Text, sex, Cbirthday.Value, TxtCompany.Text, TxtTel.Text, TxtMobile.Text, TxtEmail.Text, TxtAddress.Text, TxtCode.Text) intcount = ListBox1.Items.Count - 1 ListBox1.SelectedIndex = 0 ShowCustom(0) LockText() End Function
8.1.2 程序分析与代码
4. 实现添加记录的功能
ListBox1.Items.Add(_customers(i).name) '将记录中的“姓名“一项 显示在列表中 i=i+1 End Function 然后为“添加”按钮的单击事件添加代码。具体代码为: Private Sub btnAdd_Click(…) Handles btnAdd.Click UnLockText() TxtName.Focus() End Sub 最后为“确定添加”按钮的单击事件添加代码。用户单击“确定 添加”按钮,完成真正的添加记录操作,具体代码为: Private Sub btnAddOk_Click(…) Handles btnAddOk.Click Dim sex As String If RadMale.Checked = True Then sex = "男" Else
8.1.2 程序分析与代码
5. 实现修改记录的功能: 实现修改记录的功能: 最后为“确定修改”按钮的单击事件添加代码。用户单击“确定修 改”完成真正的修改,该操作主要调用修改函数CreatCustom(), 具体代码为: Private Sub btnModOk_Click(…) Handles btnModOk.Click Dim sex As String If RadMale.Checked = True Then sex = "男" Else sex = "女" End If ModifyCustom(ListBox1.SelectedIndex, TxtName.Text, sex, Cbirthday.Value, TxtCompany.Text, TxtTel.Text, TxtMobile.Text, TxtEmail.Text, TxtAddress.Text, TxtCode.Text) intcount = ListBox1.Items.Count - 1 ListBox1.SelectedIndex = 0 ShowCustom(0) LockText()
Text Name Text Name
“查找(&F)” btnFind “保存(&S)” btSave Cbirthday Form1 “通讯录”
“确定添加”DataTimerP Name icker btnAddOk Form Name Text
8.1.2 程序分析与代码
定义全局变量 在程序的开始处变量值,采用结构体数组存储每条记录信息, 具体代码为: Public _customers(1000) As Custom '定义集合保存记录 Public intcount As Integer '查询变量保存索引 Public i As Integer <Serializable()> Public Structure Custom '构建结构 Public name,sex, birthday,company, tel, movebal, email, address, code As String End Structure
1.
8.1.2 程序分析与代码
2.锁定 解锁控件 锁定/解锁控件 锁定 Private Sub LockText() ‘锁定 TxtName.ReadOnly = TxtCompany.ReadOnly = TxtTel.ReadOnly = TxtMobile.ReadOnly = True RadMale.Enabled = RadFemale.Enabled = Cbirthday.Enabled =False
第8章 Windows桌面程 序开发实例
学习目标
通过实例掌握Windows桌面程序的开发流 程; 掌握各种控件在处理实际问题中的应用; 通过实例掌握面向对象程序编写思想与方 法。
8.1 通讯录程序
8.1.1 题目要求 设计一个通讯录,运行界面参照图8.1。 设计一个通讯录,运行界面参照图 。该通讯录应 该具有以下功能: 该具有以下功能: 通讯录中条记录包括的字段有:姓名、性别、 通讯录中条记录包括的字段有:姓名、性别、出 生日期、工作单位联系电话、手机、电子邮箱、 生日期、工作单位联系电话、手机、电子邮箱、 通讯地址和邮政编码 用户可以添加、修改、删除、浏览记录, 用户可以添加、修改、删除、浏览记录,并可以 按照姓名进行查找。 按照姓名进行查找。 每次对通讯录的修改以文本文件的形式保存, 每次对通讯录的修改以文本文件的形式保存,以 保证数据的长期存储。 保证数据的长期存储。
Name btnPre Text
Name btnNext Text Name btnDel
RadioButton Name
RadioButt Name on2 Text Button Button Text Name Text Name
RadFemale Button “女” 添加(&A) btnAdd Button
8.1.2 程序分析与代码
5. 实现修改记录的功能: 实现修改记录的功能: 然后为“修改”按钮的单击事件添加代码,这里只要解锁各个控Biblioteka Baidu件即可,具体代码为: Private Sub btnModify_Click(…) Handles btnModify.Click UnLockText() TxtName.Focus() End Sub
8.1.2 程序分析与代码
3.实现在控件中显示选中记录的功能 实现在控件中显示选中记录的功能 Public Function ShowCustom(ByVal index As Integer) '//显示操 作 TxtName.Text = _customers(index + 1).name If _customers(index + 1).sex = "男" Then RadMale.Checked = True Else RadFemale.Checked = True End If Cbirthday.Value = _customers(index + 1).birthday TxtCompany.Text = _customers(index + 1).company TxtTel.Text = _customers(index + 1).tel TxtMobile.Text = _customers(index + 1).movebal TxtEmail.Text = _customers(index + 1).email TxtAddress.Text = _customers(index + 1).address TxtCode.Text = _customers(index + 1).code ListBox1.SelectedIndex = index
8.1.2 程序分析与代码
4. 实现添加记录的功能 首先定义一个函数CreatCustom(),为数组_customers(i) 的各个成员赋值,成员的值来源于定义的变量值, 已添加的记录的“姓名”会显示在列表中
Public Function CreatCustom(ByVal name As String, ByVal sex As String, ByVal birthday As String, _ ByVal company As String, ByVal tel As String, ByVal movebal As String, ByVal email As String, _ByVal address As String, ByVal code As String) '添 加操作 _customers(i).name = name _customers(i).tel = tel _customers(i).movebal = movebal _customers(i).email = email _customers(i).address = address _customers(i).birthday = birthday _customers(i).sex = sex _customers(i).company = company
属性值 “修改(&M)” “确定修改”
Name btnModify
TxtCompan Button y TxtTel TxtMobile TxtEmail TxtAddress TxtCode RadMale “男” Button Button Button
Name btnModOk Text “上一个 (&P)<<--” “下一个 (&N)-->>” “删除(&D)”
TxtEmail.ReadOnly = TxtAddress.ReadOnly = txtCompany.ReadOnly = TxtCode.ReadOnly =True Sub End
Private Sub UnLockText() '解锁 TxtName.ReadOnly = TxtCompany.ReadOnly = TxtTel.ReadOnly = TxtMobile.ReadOnly =False RadMale.Enabled = RadFemale.Enabled = Cbirthday.Enabled = True TxtEmail.ReadOnly = TxtAddress.ReadOnly =
5. 实现修改记录的功能:该功能的实现思想与添加记录的思想一 实现修改记录的功能: 首先定义函数ModifyCustom(),用于修改一条记录, 致,首先定义函数 ,用于修改一条记录, Public Function ModifyCustom(ByVal index As Integer, ByVal name As String, ByVal sex As String, _ByVal birthday As String, ByVal company As String, ByVal tel As String, ByVal movebal As String, _ByVal email As String, ByVal address As String, ByVal code As String) '//修改操作 _customers(index + 1).name = name '_customers(i)其他属性修改 '_customers(i) 方法与该语句类似,以下代码省略 _customers(index + 1).tel = tel _customers(index + 1).movebal = movebal _customers(index + 1).email = email _customers(index + 1).address = address _customers(index + 1).birthday = birthday _customers(index + 1).sex = sex _customers(index + 1).company = company _customers(index + 1).code = code ListBox1.Items(index) = name End Function
控件类型 ListBox TextBox TextBox TextBox TextBox TextBox TextBox TextBox
属性 Name Name Name Name Name Name Name Name Text
属性值 ListBox1 TxtName
控件类 型 Button
属性 Text Text