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

COMBOX能给每个条目赋予两个参数值吗

combox下拉菜单,ComboC.AddItem "C20"
ComboC.ItemData(0) = 96
ComboC.AddItem "C25"
ComboC.ItemData(1) = 119
ComboC.AddItem "C30"
ComboC.ItemData(2) = 143
ComboC.AddItem "C35"
ComboC.ItemData(3) = 167

现在希望我选中其中一个,比如C25,时候,给另一个参数a,赋值 a=10, 选中C30,a=15 --------------------编程问答-------------------- 也就是选中一个条目“C25" 时,令a=96,b=25,,选另一个条目“C30" 时,令a=126,b=30,, --------------------编程问答--------------------
引用 1 楼 hitliubing 的回复:
也就是选中一个条目“C25" 时,令a=96,b=25,,选另一个条目“C30" 时,令a=126,b=30,,

没看出你这个“例子”,跟你添加的数据有什么关系。
--------------------编程问答-------------------- 就是说,我一个条目中 都是学生,,选中学生A,赋值 体重=70公斤,身高=180mm,,,然后后期时候可以根据这两个参数进行判断,,比如身高比A低的,,体重比A重的,, --------------------编程问答-------------------- CombBox 的ItemData只是一个Long类型的值。
如果你很想用ItemData来存储对应的身高、体重数据,也完全可以。
毕竟这两项数据的值都不会太大(除非输入错误),而Long 类型数据共4字节,完全可以把它们“组合”后放入ItemData中。
比如低字节为体重(1字节,为0~255,相信正常情况下,没有超过255公斤的吧)、第2字节为身高,
就可以这样: ItemData(n) = 学生n的 体重 + 身高×256
  当要相应数据时,身高 = ItemData(n) \ 256 , 体重 = ItemData(n) And 255
如果你担心体重用“255”值还小了(万一哪个超级肥的学生,有300Kg……),
  可以用“低1.5字节”来放,这下总不用担心了吧: 0 ~ 4095 !没有哪个人会有4吨重吧!!!
 这样,把上面的256换成4096,255换成4095,你永远不用担心“不够放”了。

其实,如果我用这个,我会用动态数组来存储对应的相关数据。
这样灵活性很大(主要是类型不受限制了,ItemData只是Long值,当然可以把小数“转换”为整数,但位数有限、不太方便),
管理上也没大多的“复杂”。
但运行效率往往会高很多。
         --------------------编程问答-------------------- 用一个string数组,Combobox存ItemData,放入Index,对应。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,