注意:下面出现的“考生文件夹”均为c:\wexam\25160001。 请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。 (1) 在名称为Form1的窗体上放置两个列表框,名称分别为List1和List2。在List1中添加“第一题”、“第二题”……“第八题”,并设置MultiSelect属性为2(要求在控件属性中设置实现)。再放置一个名称为Cmd1,标题为“复制”的命令按钮。程序运行后,如果单击“复制”按钮,将List1中选中的内容(至少两项)复制到List2中。如果选择的项数少于2项,用消息框提示“请选择至少两项”。如图17-1所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为sjt1.frm,工程文件名为sjt1.vbp。 (2) 在名称为Form1的窗体上放置一个名称为Text1的文本框。程序运行后,用户在文本框中输入的英文字母一律用大写显示(要求焦点在最右端)。如图17-2所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为sjt2.frm,工程文件名为sjt2.vbp。
参考答案:
解析: 在窗体上建立好控件后,先设置控件属性,再编写事件过程。
自列表框中添加项目可以用事件AddItem事件,也可以在属性窗口中进行,但题目中要求是在属性窗口添加所以选择利用属性实现的。列表框的Text属性为最后一次选中的表项的文本,且每次一定要不少于两次,少于的话会用msgbox给出提示。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表17-1。
表 17-1
控 件 | 属 性 | 设 置 值 |
listbox | Name MultiSelect List | List1 2-extended 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第八题 |
Listbox | Name | List2 |
Commandbutton | Name Caption | Cmd1 复制 |
参考代码:
Option Explicit
Private Sub Cmd1_Click()
Dim i As Integer, j As Integer
Dim a(8) As String
For i=0 To List1.ListCount-1
If List1.Selected (i) Then
a(i)=List1.List(i)
j=j+1
End If
Next i
If j<2 Then
MsgBox "请选择至少两项"
Else
List2.Clear
For i=0 To List1.ListCount-1
If a(i) <> "" Then List2.AddItem a(i)
Next
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2) 在窗体上建立好控件后,先设置控件的属性,再编写事件过程。
在Text控件中输入文本时触发Change事件,通过Ucase函数来换成大写字母。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表17-2。
表 17-2
对 象 | 属 性 | 设 置 值 |
文本框 | Name Text | Text1 空 |
参考代码:
Private Sub Text1_Change()
Text1.SelStart=Len(Text1.Text)
Text1.Text=UCase(Text1.Text)
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。