2010-04-22 145 views
0

誰能幫助我如何做到這一點..複選框在列表視圖+ vb.net

我有一個ListView與複選框在vb.net和我想要做的是,當用戶選中該複選框,方案忽略用戶的響應中選中複選框,而不是它留下的複選框取消選中..

這種擔心是用來可能在驗證..

感謝您的積極響應關於這個..

+0

快速的問題...爲什麼你在列表框中使用複選框,如果你不希望用戶能夠檢查呢?它是隻讀列表嗎? – TerrorAustralis 2010-04-22 03:05:59

+0

我必須使用listview與複選框爲用戶選擇要保存到數據庫中的數據..還我必須禁用該複選框,如果行有錯誤,無法保存在數據庫中.. – Mark 2010-04-22 06:49:26

回答

0

編輯,刪除未經測試的解決方案。

Private Sub ListView1_ItemCheck(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles ListView1.ItemCheck 
    e.NewValue = CheckState.Unchecked 
End Sub 
+0

I已經嘗試過,但我不工作..我也嘗試在selectedIndexChange事件,但仍然不工作.. – Mark 2010-04-22 06:51:02

+0

我錯過了有一個Checked和一個檢查事件,我想我以前的想法可能已經工作,如果它已經在Checked事件中,但是無論哪種方式,我編輯的解決方案都更加整潔。 – 2010-04-22 07:17:12

+0

我也嘗試,但該代碼從來沒有讓用戶檢查另一行..我已經有一個嵌套的聲明,但仍然無法正常工作..你有什麼想法嗎? – Mark 2010-04-22 08:17:53

0
Dim lastUndo As Boolean = False 
Private Sub thisListView_ItemChecked(sender As System.Object, e As System.Windows.Forms.ItemCheckedEventArgs) Handles thisListView.ItemChecked 
    If lastUndo Then 
     lastUndo = False 
    Else 
     If thisListView.Focused Then 
      lastUndo = True 
      e.Item.Checked = Not e.Item.Checked 
     End If 
    End If 
End Sub 
+0

這個例子允許listview複選框被其他控件或操作檢查或取消選中,但是當用戶點擊listview中的複選框時,處理程序將撤消更改後的複選框狀態,即用戶將無法更改複選框(es)聲明這個列表視圖。 – Ajs 2013-04-16 10:25:40