VB中 List1.Text 和 List1.List (List1.ListIndex)有什么差别?
2个回答
展开全部
List1.Text是列表框当前选中项的文本,List1.List是列表框中所有选项的集合,而List1.ListIndex是当前选项的索引号,所以List1.List (List1.ListIndex)也就是当前选中项的文本。
这其实是列表框当前选中项文本在列表框不同属性的不同表示法而已。就像张三是甲班的一个同学,他的座位号是10,那么“甲班的张三”和“甲班10号的同学”在这里就指的是同一个人,只是说法不同而已。所以严格说来两者是没什么可比性的。如果真要说什么区别,那就是前者是一个固定值,而后者是个集合,根据索引号的不同可以表示其他的成员,如甲班11号同学、甲班20号同学等等。
至于为什么前者只读,后者可赋值,这没什么好解释的,VB就是这么规定的。要真追究为什么,就是因为列表框是由多个选项组成的,那么修改某个选项的内容时,就要先通过索引号找到该项然后再修改才显得规范,另外列表框是有可能出现没有当前选中项的情况的(就是说没有任何选项是被鼠标选中的),那么假如Text属性可赋值的话,在这种情况给Text属性赋值就会出错了。
这其实是列表框当前选中项文本在列表框不同属性的不同表示法而已。就像张三是甲班的一个同学,他的座位号是10,那么“甲班的张三”和“甲班10号的同学”在这里就指的是同一个人,只是说法不同而已。所以严格说来两者是没什么可比性的。如果真要说什么区别,那就是前者是一个固定值,而后者是个集合,根据索引号的不同可以表示其他的成员,如甲班11号同学、甲班20号同学等等。
至于为什么前者只读,后者可赋值,这没什么好解释的,VB就是这么规定的。要真追究为什么,就是因为列表框是由多个选项组成的,那么修改某个选项的内容时,就要先通过索引号找到该项然后再修改才显得规范,另外列表框是有可能出现没有当前选中项的情况的(就是说没有任何选项是被鼠标选中的),那么假如Text属性可赋值的话,在这种情况给Text属性赋值就会出错了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询