首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2013-12-23 
COMBOX能给每个条目赋予两个参数值吗combox下拉菜单,ComboC.AddItem C20ComboC.ItemData(0) 96ComboC.

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
[解决办法]
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,对应。

热点排行