我想用VB.NET 2005 编一个通讯录软件,请教几个问题
我想用VB.NET2005编一个通讯录软件,请教几个问题:一个同学的属性有名字,性别,民族,住址等等,这些比如textbox1.text与textbox2.text等等,...
我想用VB.NET 2005 编一个通讯录软件,请教几个问题:
一个同学的属性有 名字,性别,民族,住址等等,这些比如textbox1.text与textbox2.text等等,如何让他们有关联呢(如何定义成结构,或用集合),如何让在listbox选一个人的名字之时,他的个人信息会在textbox出现;;请教大虾们
声明:我不想直接用数据库,我想先学写VB代码 展开
一个同学的属性有 名字,性别,民族,住址等等,这些比如textbox1.text与textbox2.text等等,如何让他们有关联呢(如何定义成结构,或用集合),如何让在listbox选一个人的名字之时,他的个人信息会在textbox出现;;请教大虾们
声明:我不想直接用数据库,我想先学写VB代码 展开
2个回答
展开全部
你可以定义一个数组,其中每一个元素都是一个结构,在每一个结构中存放每一个人的姓名、年龄等信息。这需要用到类。
创建类,然后定义结构中包含的所有数据,然后在程序中创建数组,定义每一个数组的元素都是一个这样的类,并且在定义后使用New子句将其实力化.关于类,你可以参考你的学习用书,定义应该不成问题,关键看这种思路吧.
例如定义类,内容:
Public Class VarClass
Public Class Student
Public Name As String
Public NamePass As String
Public Number As UInt16
Public Dis, Stu As New Collection
Public ToDis, ToStu As Decimal
End Class
End Class
然后在程序代码中:Public People(10) As Object
注意一定要先定义Object,因为数组无法使用New子句
然后实例化:
For a = 0 To (My.Forms.Form1.StuNum - 1)
People(a) = New VarClass.Student
Next
定义完成!
For a=0 to 10 do
If People(a).Name=Name(选中的名字) then
textbox1.text=People(a).Age
exit for
End if
然后根据ListBox中选中项的Text,使用For.Each(在数量无法确定的情况下)或者For.do语句,遍历数组中每个元素,即结构中的姓名域,如果找到,就把该结构中的其它几项内容分别赋给TextBox的Text,并且用Exit For跳出For语句.
成功!
创建类,然后定义结构中包含的所有数据,然后在程序中创建数组,定义每一个数组的元素都是一个这样的类,并且在定义后使用New子句将其实力化.关于类,你可以参考你的学习用书,定义应该不成问题,关键看这种思路吧.
例如定义类,内容:
Public Class VarClass
Public Class Student
Public Name As String
Public NamePass As String
Public Number As UInt16
Public Dis, Stu As New Collection
Public ToDis, ToStu As Decimal
End Class
End Class
然后在程序代码中:Public People(10) As Object
注意一定要先定义Object,因为数组无法使用New子句
然后实例化:
For a = 0 To (My.Forms.Form1.StuNum - 1)
People(a) = New VarClass.Student
Next
定义完成!
For a=0 to 10 do
If People(a).Name=Name(选中的名字) then
textbox1.text=People(a).Age
exit for
End if
然后根据ListBox中选中项的Text,使用For.Each(在数量无法确定的情况下)或者For.do语句,遍历数组中每个元素,即结构中的姓名域,如果找到,就把该结构中的其它几项内容分别赋给TextBox的Text,并且用Exit For跳出For语句.
成功!
参考资料: 以上程序引用的是我编写的一个关于学生考核分登记系统中学生资料的定义
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询