
vb如何删除文件列表框中的项目?
我编了一个可以在文件列表框中删文件的程序,但是每次都是删了文件而列表框中的项目仍然不变,这个怎么解决,文件列表框不支持像列表框一样的remove。...
我编了一个可以在文件列表框中删文件的程序,但是每次都是删了文件而列表框中的项目仍然不变,这个怎么解决,文件列表框不支持像列表框一样的remove。
展开
4个回答
展开全部
你是删除的文件本身吧?
用kill删除以后,file1.refresh
或者是
file1.removeitem
file1.refresh
用kill删除以后,file1.refresh
或者是
file1.removeitem
file1.refresh
展开全部
虽然不支持remove ,不过它没有刷新功能么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
File1.Refresh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由于列表框每次可以选择单个列表项,也可以同时选中多个列表项,这取决于multiselect属性的取值。所以,不同的情况处理方法也不同。
如果列表框每次只允许选择一个列表项的话(multiselect属性值为0),则可以用下面一句代码将所选的列表项删除
list1.removeitem
listindex
上面代码中的listindex是列表框中所选项目的索引号。
如果列表框允许每次选择多个列表项的话(multiselect属性值为1或者2),则必须使用循环代码逐个删除,比如
dim
inti
as
integer
for
inti
=
list1.listcount
-
1
to
0
step
-1
'从后往前扫描
if
list1.selected(inti)
=
true
then
list1.removeitem
inti
next
inti
上面代码中selected是一个数组属性,选中的列表项其selected属性为true,没有选中的列表项其selected属性为false。在允许多项选择的情况下是判断哪些列表项选中或未选中的惟一办法。
另外一个要点就是,对多个列表项的删除操作要从后往前扫描。如果从前向后扫描,则每次删除一个列表项时list属性(该属性为一个保存了列表项的数组)的长度都减1,循环次数会超过表中元素的个数,结果就会产生运行时错误。而从后向前扫描则可以避免这个问题。
如果列表框每次只允许选择一个列表项的话(multiselect属性值为0),则可以用下面一句代码将所选的列表项删除
list1.removeitem
listindex
上面代码中的listindex是列表框中所选项目的索引号。
如果列表框允许每次选择多个列表项的话(multiselect属性值为1或者2),则必须使用循环代码逐个删除,比如
dim
inti
as
integer
for
inti
=
list1.listcount
-
1
to
0
step
-1
'从后往前扫描
if
list1.selected(inti)
=
true
then
list1.removeitem
inti
next
inti
上面代码中selected是一个数组属性,选中的列表项其selected属性为true,没有选中的列表项其selected属性为false。在允许多项选择的情况下是判断哪些列表项选中或未选中的惟一办法。
另外一个要点就是,对多个列表项的删除操作要从后往前扫描。如果从前向后扫描,则每次删除一个列表项时list属性(该属性为一个保存了列表项的数组)的长度都减1,循环次数会超过表中元素的个数,结果就会产生运行时错误。而从后向前扫描则可以避免这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询