Combobox.NewIndex属性的最大值是多少?

时间:2012-03-12 10:02:48

标签: vb6 combobox recordset

在VB6.0中,MyCombobox.NewIndex的最大值是多少?它是什么数据类型的?为什么我不能将newIndex设置为11001000000?如果我不能,我该怎么办?

谢谢

Dim ComboItem As String
With rsTest
        .Sort = "ID Asc"
        .MoveFirst
        While Not .EOF
            ComboItem = .Fields("Code") & " - " & .Fields("Name")
            myCombobox.AddItem (ComboItem)
            myCombobox.ItemData(myCombobox.NewIndex) = .Fields("ID")
            .MoveNext
        Wend
End With

2 个答案:

答案 0 :(得分:7)

根据the help.NewIndex是一个只读属性,它返回最后添加的项目的索引并设置它没有任何意义。

由于它是一个整数,其最大(可用)值为32767.当您将第32769项添加到组合框时,索引将换行为负值,并且无法再使用。

要将任意数据分配给项目,请使用长.ItemData属性,该属性可以保存-2,147,483,648 and 2,147,483,647之间的整数值。

答案 1 :(得分:0)

您似乎使用了错误的数字。整数存储在有符号的32位存储器(4字节)中,其范围为-2 ^ 31至2 ^ 31 = -2,147,483,648至2,147,483,647。 Long存储在带符号的64位存储器(8字节)中,其范围为-2 ^ 63到2 ^ 63 = -9,223,372,036,854,775,808到9,223,372,036,854,775,807。

ItemData使用整数数据类型

Short以有符号的16位(2字节)存储,从-32,768到32,767。 一个字节是一个字节(无符号8位),从0到255.

如果要存储二进制数字(11001000000),请将它们转换为整数。 乔治