当前位置:编程学习 > VB >>

请帮我编VB程序题

程序运行时,在列表框LIST1中加载8个学生姓名,在TEXT1文本框(即“查找对象”右边的文本框)输入一个姓或姓名,单击“查找”按钮,则在列表框中进行查找。若找到,则把该人的信息显示在TEXT2文本框中。若有多个匹配的列表项,则只显示第一个为匹配项:若未找到,则在TEXT2中显示“查无此人”。
答案:
Dim i
Private Sub Command1_Click()
Dim Has As Boolean
Has = False
If Trim(Text1.Text) = "" Then Exit Sub
For i = 0 To 7
If UCase(Text1) = UCase(List1.List(i)) Then
Text2.Text = List1.List(i)
Has = True
Exit For
End If
Next i
If Has = False Then Text2.Text = "查无此人"
End Sub

Private Sub Form_Load()

List1.Clear
For i = 1 To 8
List1.AddItem "学生" & i
Next i

End Sub
我这里给你个 listbox用法的例子
Option Explicit
'--------------------------------------
' 简单的列表框ListBox的例子
'--------------------------------------
'
'--------------------------------------
'------名称-------------作用------------
' List1、List2 列表框
' LefttoRightCmd 移动所选项目到另一个列表框(左到右)
' RighttoLeftCmd 移动所选项目到另一个列表框(右到左)
' List1MoveCmd 删除列表框List1中所选项目
' List2MoveCmd 删除列表框List2中所选项目
' List1AddCmd 给列表框List1增加新项目
' List2AddCmd 给列表框List2增加新项目
' List1ClearCmd 清空列表框List1
' List2ClearCmd 清空列表框List2
'--------------------------------------
'--------------------------------------
'————名称————属性设置———
'
' List1列表框 Sorted属性设为“False”
' List2列表框 Sorted属性设为“True”
' MultiSelect属性设置为2
' 即List2控件中的项目总是排序的
'--------------------------------------



Private Sub Form_Load()

'装载窗体时,给列表中的元素赋值
List1.AddItem "China"
List1.AddItem "America"
List1.AddItem "Japan"
List2.AddItem "Soccer"
List2.AddItem "Tennis"
List2.AddItem "Basketball"

End Sub

Private Sub LefttoRightCmd_Click()
'将左边列表中所选元素移动到右边列表中
If List1.ListIndex >= 0 Then

'在右边列表中增加新元素
List2.AddItem List1.Text

'删除左边列表中的所选元素
List1.RemoveItem List1.ListIndex

End If

End Sub

Private Sub List1AddCmd_Click()

Dim ListItem As String
'
ListItem = InputBox("在列表中输入新项目")
'向列表中加入新项目
If Trim(ListItem) <> "" Then
'Trim()作用是清除ListItem字符串内的空格

List1.AddItem ListItem
End If


End Sub

Private Sub List1ClearCmd_Click()

'清空列表
List1.Clear

End Sub

Private Sub List1MoveCmd_Click()

Dim i As Integer
'判断列表框是否只有一个项目被选中
If List1.SelCount = 1 Then

List1.RemoveItem List1.ListIndex

ElseIf List1.ListCount > 1 Then
'删除列表框中的所选中的多个项目
For i = List1.ListCount - 1 To 0 Step -1
'ListCount返回列表框中的项目总数
'ListCount-1是列表框中最后一个项目的索引号
'判断该项目是否被选中,Selected()返回布尔值
If List1.Selected(i) Then
'删除索引号为i的项目
List1.RemoveItem i
End If
Next
End If
End Sub
Private Sub List2AddCmd_Click()
'定义变量,以接收输入的字符串
Dim ListItem As String
ListItem = InputBox("在列表中输入新项目")
If Trim(ListItem) <> "" Then
'将字符串增加到列表中
List2.AddItem ListItem
End If
End Sub
Private Sub List2ClearCmd_Click()
'清空列表
List2.Clear
End Sub
Private Sub List2MoveCmd_Click()
Dim i As Integer
'判断所选 元素是否只有一个
If List2.SelCount = 1 Then
List2.RemoveItem List2.ListIndex
'如果所选 元素大于1,则按下列操作进行
ElseIf List2.ListCount > 1 Then
For i = List2.ListCount - 1 To 0 Step -1
If List2.Selected(i) Then
List2.RemoveItem i
End If
Next i
End If
End Sub
Private Sub RighttoLeftCmd_Click()
Dim i As Integer
'判断选中的元素有几个
If List2.SelCount = 1 Then
List1.AddItem List2.Text
List2.RemoveItem List2.ListIndex
'当选中的元素大于一个时
ElseIf List2.SelCount > 1 Then

For i = List2.ListCount - 1 To 0 Step -1
'如果该元素被选中,则将其从右边移至左边
If List2.Selected(i) Then

List1.AddItem List2.List(i)
List2.RemoveItem i
End If
Next i
End If

End Sub
这个问题很简单,你只需在左边文本框的Change事件中加入一行代码,即可实现你需要的那种功能。整个代码如下所示:
Private Sub Text1_Change()
Text2.Text = StrReverse(Text1.Text)
End Sub
在上面代码中,Text1代表你所说的左边文本框,而Text2则代表你所说的右边文本框。代码中StrReverse是VB6.0中自带的一个函数,功能为将传入给它的字符串反转,返回值为反转后的字符串。
private cmdSearch_click()
s=0
for i = 0 to list1.listcount-1
if list1.list(i)=text1.text then text2.text=list1.list(i):s=1
next i
if s=0 then text2.text="查无此人"
end sub

上一个:谁有VB工具栏使用技巧?
下一个:如何报考国家VB二级考试

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,