要求:程序运行后,在组合框Combo1中缺省显示的是“09级”;在文本框Text1中输入姓名且在组

2024-12-30 15:00:09
推荐回答(2个)
回答1:

你没有表述清除数据文件的文件全名及位置,演示我就只是简单了使用了App.Path & "\班级姓名录.txt"作为数据文件。

Option Explicit
Private Sub Form_Load()
  '界面初始化
  Combo1.Text = "09级"
  Combo1.AddItem "09级"
  
  Combo1.AddItem "08级"
  Combo1.AddItem "07级"
  Combo1.AddItem "06级"
  
  Text1.Text = ""
  Command1.Caption = "加入列表"
  Command2.Caption = "删除所选项目"
  Command3.Caption = "清空列表"
  Command4.Caption = "退出"
  Command5.Caption = "保存数据"
  Command6.Caption = "导入数据"
End Sub
'加入列表按钮
Private Sub Command1_Click()
  If Text1.Text = "" Then
     MsgBox "还未输入姓名,请先输入姓名在添加!", 0 + 16 + 0, "错误"
     Exit Sub
  End If
  
  Dim i As Integer
  '遍历List1,重复信息不添加
  For i = 0 To List1.ListCount - 1
      If Combo1.Text & " - " & Text1.Text = List1.List(i) Then
         '搜索到指定的信息
         MsgBox "当前信息已经存在于列表框中,请勿重复添加!", 0 + 16 + 0, "错误"
         Exit Sub
      End If
  Next
   
  '将新信息添加到List1内
  List1.AddItem Combo1.Text & " - " & Text1.Text
  Text1.Text = ""
  
End Sub
'删除所选项目按钮
Private Sub Command2_Click()
   
  Text1.Text = ""
  '判断是否选中有List1内的项目
  If List1.ListIndex >= 0 Then
     List1.RemoveItem List1.ListIndex
  Else
     MsgBox "还未选择需要删除的项目,请先选择!", 0 + 16 + 0, "错误"
  End If
End Sub
'清空列表按钮
Private Sub Command3_Click()
  Text1.Text = ""
  List1.Clear
End Sub
'退出按钮
Private Sub Command4_Click()
  End
End Sub
'鼠标点击List1事件
'若鼠标点击List1且有效的话则把选中行的信息回写到Text1.Text内
Private Sub List1_Click()
  '判断是否选中有List1内的项目
  If List1.ListIndex >= 0 Then
     Dim zfctmp() As String
     zfctmp = Split(List1.List(List1.ListIndex), " - ")
     Combo1.Text = zfctmp(0)
     Text1.Text = zfctmp(1)
  End If
  
End Sub
'保存数据按钮
Private Sub Command5_Click()
  Dim i As Integer
  '遍历List1,保存所有数据到当前目录的“班级姓名录.txt”文件内
  If (List1.ListCount - 1) < 0 Then
     MsgBox "提示:列表框内还没有数据,无需进行保存!", 0 + 16 + 0, "提示"
     Exit Sub
  End If
  
  '预先删除可能存在的“班级姓名录.txt”文件
  If Dir(App.Path & "\班级姓名录.txt") <> "" Then Kill App.Path & "\班级姓名录.txt"
  For i = 0 To List1.ListCount - 1
      Open App.Path & "\班级姓名录.txt" For Append As #1
           Print #1, List1.List(i)
      Close #1
  Next
  MsgBox "操作成功:当前数据已经保存到当前目录下的“班级姓名录.txt”文件中!", 0 + 64 + 0, "提示"
  
End Sub
'导入数据按钮
Private Sub Command6_Click()
  If Dir(App.Path & "\班级姓名录.txt") = "" Then
     MsgBox "警告:未发现“班级姓名录.txt”文件,数据导入失败!", 0 + 16 + 0, "错误"
     Exit Sub
  Else
     Dim Lstr As String, blLstr As String
     Open App.Path & "\班级姓名录.txt" For Input As #1
        Do While Not EOF(1)
           Line Input #1, Lstr
           If Lstr <> "" Then
              blLstr = blLstr & Lstr
              List1.AddItem Lstr
           End If
        Loop
     Close #1
  End If
  If blLstr = "" Then MsgBox "警告:“班级姓名录.txt”文件内没有信息,数据导入失败!", 0 + 16 + 0, "错误"
  
End Sub

回答2:

Combo1里面有哪些内容?