我正在尋找一種方式來取消選定的DataGridViewRow,當用戶點擊它時。我已經嘗試過處理DataGridView類的各種單擊事件,但問題在於SelectionChanged在這些之前被觸發,這會在用戶單擊未選中的行時導致明顯的意外行爲。如何在VB.NET中單擊它時取消選定一個選定的DataGridViewRow?
我怎樣才能獲得我想要的行爲?
我正在尋找一種方式來取消選定的DataGridViewRow,當用戶點擊它時。我已經嘗試過處理DataGridView類的各種單擊事件,但問題在於SelectionChanged在這些之前被觸發,這會在用戶單擊未選中的行時導致明顯的意外行爲。如何在VB.NET中單擊它時取消選定一個選定的DataGridViewRow?
我怎樣才能獲得我想要的行爲?
這聽起來像你是嘗試改變標準窗口選擇多個對象的行爲。也就是說,允許多選,然後通過點擊您想要取消選擇的選定行來取消選定給定的行。由於datagrid會在你嘗試基於標準事件處理做到這一點的時候對抗你,你可以處理click事件,並使用鼠標事件來確定他們點擊的位置等等,但是這是混亂和脆弱的。
我會建議無論是教學標準的Windows選擇行爲給用戶或添加「選擇」列包含一個複選框,並解釋「感實性」,在進一步處理複選框值列的。
將DataGrid.SelectedIndex = -1
設置在您選擇的事件中,如果它以前被選中的話(該邏輯不包括在這裏)。
我更喜歡使用推薦的方法,因爲該功能對功能不重要 – SuppaiKamo