1. 掌握创建窗体菜单的方法。
2. 掌握快捷菜单的使用方法。
3. 能够利用已学知识编写稍微较复杂一些的程序。
一、列表框的使用(一)
该程序用于增加、修改、删除列表框(List1对象)中的项目,用户界面如图9-3所示。当用户在列表框中单击选中某一项时,该项将出现在下边的文本框(Text2对象)中,用户可在该文本框中编辑该项,然后单击“修改”按钮(Command3对象)以修改列表框中对应的内容;若单击“删除”按钮(Command2对象)则可删除用户所选中的列表框中的项目,同时清空文本框;当需要增加项目时,可将该项目输入到上面的文本框(Text1对象)中,然后单击“增加”按钮(Command1对象)即可。

补充完善如下代码,并调试通过。
'选中列表框中的项目,并使其显示在Text2中
PrivateSub List1_Click()
EndSub
'该按钮用于将文本框中的内容增加到列表框中
PrivateSub Command1_Click()
If (Text1.Text <> "") Then
Text1.Text = ""
End If
EndSub
'该按钮用于删除你所选中的列表框中的项目,同时清空文本框
PrivateSub Command2_Click()
If (List1.ListIndex <> -1) Then (a)
List1.RemoveItem
Text2.Text = ""
End If (b)
EndSub
'在文本框中编辑选中的项目后单击该按钮,用于修改所选中的列表框中的项目
PrivateSub Command3_Click()
= Text2.Text
EndSub
运行该程序,然后回答以下两个问题。
(1)在Command2的Click事件中,为什么要判断List1.ListIndex<> -1?如果去掉该事件程序中的语句(a)和语句(b)的话,什么样的操作有可能会引发程序的错误?
(2)为了在程序代码中表示出用户在列表框中选中的项目,有几种方法?请将这些方法写在下面。
二、列表框的使用(二)
建立如图9-4所示的应用程序界面,窗体上含有两个列表框控件List1(左)和List2(右),四个命令按钮控件,要求实现如下几个功能。
1)单击
按钮,弹出一个InputBox窗口,在其中输入要增加的项目并按下“确定”按钮后,输入的项目将添加到List1中。
(2)在List1中选定要删除的项目后,单击
按钮可删除它。
(3)在List1选定项目后,按下
按钮,该项目将移动到List2中。
(3)在List2选定项目后,按下
按钮,该项目将移动到List1中。

三、菜单设计
设计一个简单的应用程序,通过对菜单的选择,能够改变窗体上字体显示方式,该应用程序的用户界面如图10-1所示。

应用程序应达到以下设计目标:
(1)“字型”菜单中的选项为复选项,选中时菜单项中含有对号√标记。
(2)当在标签控件(用来显示“菜单设计”这四个字)上单击鼠标右键时,将弹出如图10-2所示的快捷菜单,可用来设置字体。

首先建立应用程序的用户界面,并使用菜单编辑器设置需要的菜单项。其中,“字体”菜单中包含“宋体”、“隶书”和“黑体”3个菜单项;“字号”菜单中包含“10”、“15”和“20” 3个菜单项;“字型”菜单中包含“加粗”和倾斜2个菜单项。
以下给出了该程序中需要编写的事件过程,补充完善如下代码,并调试通过。
PrivateSub MnuFont01_Click() '宋体
EndSub
PrivateSub MnuFont02_Click() '隶书"
EndSub
PrivateSub MnuFont03_Click() '黑体
EndSub
PrivateSub mnuSize01_Click() '10
EndSub
PrivateSub mnuSize02_Click() '15
EndSub
PrivateSub mnuSize03_Click() '20
EndSub
PrivateSub mnuStyle01_Click() '加粗
EndSub
PrivateSub mnuStyle02_Click() '倾斜
EndSub
PrivateSub Label1_MouseUp(Button As Integer, ……)
EndSub
运行该程序,然后回答以下3个问题。
(1)将“字号”菜单中下一级的3个菜单项设计成控件数组,然后通过一个事件过程取代上述程序代码中的3个事件过程。
(2)在窗体上加入一文本框,运行时在该文本框上单击鼠标右键,为什么会出现快捷菜单?我们并没有对此编写相应的代码。
(3)总结一下“菜单编辑器”的使用特点,在使用时你犯过什么样的错误?应怎样修正?