close
Blogtrottr
Yahoo!奇摩知識+ - 分類問答 - 電腦網路 - 發問中
Yahoo!奇摩知識+ - 分類問答 - 電腦網路 - 發問中 
【VB6】ListView CheckBox 可核取卻未選取
Aug 25th 2013, 01:35

請問各位大大,
如題,小弟於 VB6 中設定 ListView 有 CheckBox
(註:ListView 有 ItemCheck 以及 ItemClick 兩個事件)

一、環境設定如下:
ListView名稱:Listview1
項目數量:10個
選項方式:可多重選

二、程式目的:
因為我想要把被選取的項目以紅字標示,以便跟現有的進行區別(新勾選)
程式碼如下:
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
 If ListView1.ListItems(ListView1.SelectedItem.Index).Checked = True Then
  ListView1.SelectedItem.ForeColor = vbRed
 Else
  ListView1.SelectedItem.ForeColor = vbBlack
 End If
End Sub

三、測試發生之問題

步驟1. 假設我先點選第10項(點內容),再去勾選第10項的checkbox
   此時ListView1.SelectedItem.Index=10,亦有觸發ItemClick事件,完成目標!
步驟2. 『只點選』第5項的『Checkbox』,此時並未觸發ItemClick
   無觸發ItemClick事件,未達目標~
   (竟然可以點選而無觸發ItemClick事件?)

後來小弟發現點選 Checkbox 是觸發 ItemCheck 事件,因此設定ItemCheck 事件
的程式碼跟ItemClick一樣,但問題來了
下面這個code要改,
If ListView1.ListItems(ListView1.SelectedItem.Index).Checked = True
但是 ListView1.SelectedItem.Index 仍然是=10 (依步驟1~2)
因此問題是:我如何得知我目前點選的是第5個項目呢?
類似『ListView1.CheckedItem.Index』(當然是沒有...)
Google很久,大陸、英文通通都搜過了~就是沒有..淚~

請各位大大幫忙~感謝

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 nbvo4o2861kqd 的頭像
    nbvo4o2861kqd

    線上遊戲排行榜2013/2014,進擊的巨人線上看,candy crush saga外掛,正妹寫真三圍

    nbvo4o2861kqd 發表在 痞客邦 留言(0) 人氣()