Private
Declare
Function
SendMessage
Lib
"user32"
Alias
"SendMessageA"
(ByVal
hwnd
As
Long,
ByVal
wMsg
As
Long,
ByVal
wParam
As
Long,
lParam
As
Any)
As
Long
Private
Const
LB_FINDSTRINGEXACT
=
&H1A2
Private
Sub
Command1_Click()
Dim
ret
As
Long
ret
=
SendMessage(List1.hwnd,
LB_FINDSTRINGEXACT,
-1,
ByVal
Text1.Text)
If
ret
=
-1
Then
List1.AddItem
Text1.Text
Else
List1.ListIndex
=
ret
End
If
End
Sub
Private
Sub
Form_Load()
List1.AddItem
"aaa"
List1.AddItem
"ccc"
List1.AddItem
"bbb"
List1.AddItem
"ddd"
List1.AddItem
"eee"
End
Sub
list值循环添加对象值重复的原因和解决方法如下:
record在new之后得到了一块内存地址;
而你的set只是改变了这个对象的值,却不会为该对象重新分配一块内存;
你的recordList.add(record)相当于保存了record对象的引用地址;
所以只要你改变record对象,list中所有元素就都会改变;
解决方法是将HFCZ record = new HFCZ()这一个放在你的循环内,分配多块内存地址就可以了。
list:表, 一览表明细表目录名单。 在计算机领域指序列。在编程语言中List 是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。list 的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list 是类库提供的众多容器(container)之一,除此之外还有vector、set、map、?等等。list 以模板方式实现(即泛型),可以处理任意型别的变量,包括使用者自定义的资料型态
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)