问题 问答题

注意:下面出现的“考生文件夹”均为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
第三步:调试并运行程序。
第四步:按题目要求存盘。

选择题
单项选择题