2017-06-16 34 views
1

如何啓用一個按鈕,如果一個項目在列表視圖中選中?我已經嘗試過這個並且擺弄它,但沒有運氣。誰能幫忙?啓用按鈕,如果列表視圖項檢查

Private Sub lvCustomers_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvCustomers.SelectedIndexChanged 
    For Each x As ListViewItem In lvCustomers.Items 
     If x.Checked Then 
      btnConfirmOrder.Enabled = True 
     ElseIf x.Checked = False Then 
      btnConfirmOrder.Enabled = False 
     End If 
    Next 
End Sub 
+0

你的「運氣」跑了出來,因爲你是循環theru所有這些使按鍵只會反映最後一項的結果。請閱讀[問]並參加[旅遊] – Plutonix

+0

您如何綁定到XAML?請顯示更多代碼。 –

+0

我會把它放在ItemChecked事件中,以便它在點擊複選框時觸發代碼。我也只是基於它的checkeditems集合的數量大於0.(假設這是winforms,並且您希望在檢查複選框時發生結果) –

回答

0

下面是一個使用我在我的評論描述事件和收集的例子

Private Sub ListView1_ItemChecked(sender As Object, e As ItemCheckedEventArgs) Handles lvCustomers.ItemChecked 
    'checkeditems collection keeps track of only items that are checked 
    'if a single item is checked lvCustomer.CheckedItems.Count > 0 
    'becomes true and therefore the button is enabled. This event 
    'will respond with any check or uncheck of a checkbox in the LV 
    btnConfirmOrder.Enabled = lvCustomers.CheckedItems.Count > 0 
End Sub 
+0

令人驚歎!謝謝 – Jamie

0
Private Sub lvCustomers_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvCustomers.SelectedIndexChanged 
    btnConfirmOrder.Enabled = lvCustomers.Items.Any(Function(x) x.Checked) 
End Sub