vb6.0 如何改变listview1.SelectedItem.Index的值
生成一个有内容的listview表之后,listview1.selecteditem.index的值自动变成1无论如何改不了listview1.listitems(1)....
生成一个有内容的listview表之后,listview1.selecteditem.index的值自动变成1
无论如何改不了
listview1.listitems(1).selected=false
这条语句是不行的
看上去明明什么都没有选择
谁能告诉我怎么办啊 0-0抓狂了 展开
无论如何改不了
listview1.listitems(1).selected=false
这条语句是不行的
看上去明明什么都没有选择
谁能告诉我怎么办啊 0-0抓狂了 展开
2个回答
展开全部
for i = 1 to 10
if listview1.listitems(i).selected=true then
'你要做的事 放弃使用.selecteditem.index 多行选中时,你让listview一个index
属性返回你一个数组么?明显不可能
end if
next
if listview1.listitems(i).selected=true then
'你要做的事 放弃使用.selecteditem.index 多行选中时,你让listview一个index
属性返回你一个数组么?明显不可能
end if
next
追问
没有明白你说的意思
"多行选中时",首先这根本就不是多行选中,只有listview1.listitems(1).selected是true,其他都是false
其次,所有的值全部手动赋值成false之后,还是显示1
另外,你给的代码只做了一个判断,根本米有进行任何操作啊
还是我理解不对?
追答
按我理解 listview1.selecteditem.index在你代码中 应该是其判断用户选中哪一行,然后你提取这一行的数据 再进行你之后的操作
listview1控件在初始化时,就给你选中第一行,让你程序无法真实判断这是用户所选,你就想用
listview1.listitems(1).selected=false 来改变第一行的选中状态,可这个控件的特点就是它item序号从1开始 没有0,也不像listbox有-1,来判断用户没有选中行。listview1.selecteditem.index 鼠标点选哪一行 数值就是几 不管你是否选中这一行(默认情况下 选中行背景蓝色视为选中,同一行点击第一次为蓝,第二次还原变白,加虚框,表示不选中)
所以listview要判断用户选中是哪一行,只能循环列表所有项目,用listview1.listitems(i).selected 是否为true来判断。是true再执行你想要操作的代码
listview1.selecteditem.index只能返回一个数值~·当有设置 ListView1.MultiSelect = True 列表可以选择多行时 比如我同时选中第2和3行时 listview1.selecteditem.index 这个无法反馈2和3这2个数值给你。
我给的代码只是给你演示下,我并不知道你选取选中行是想如何处理~~if里面你随便写你想要的代码·~ 单引号 是注解行 应该能看得懂才对吧
展开全部
listview1.selecteditem.index 表示当前选中行的行数,默认选中第一行,所以,你必须等到listview载入完以后再加上listview1.listitems(1).selected=false
追问
上面已经说了
listview1.listitems(1).selected=false
这条语句是不行的
你有试成功过么
追答
都说了在listview载入完内容后,加这句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询