我有一個問題,我似乎無法找到答案。好的,我在表單上有一個數據集,dgv和一個列表框。數據集有一些表格,對於某些表格,通過列表框selectedValueChanged事件選擇並設置主鍵。用戶在列表框中單擊一個名稱,並將項目selectedValue分配給項目變量。ListBox取消selectedValueChanged事件
item = Me.ListBoxItem.SelectedValue
Me.itemID = index
我也有,如果是在DGV的更改尚未提交到數據庫設置爲false布爾dsIsEditing。我正在做的是阻止用戶在列表中選擇另一個項目,如果dsIsEditing = true。
我知道有一個帶有cancelEventArgs參數的ListBox驗證事件,但我無法弄清楚如何實現它。我已經得到最接近的是從一個ListBoxItem selectedValueChanged事件執行下面的代碼:
If dsIsEditing = True Then
Dim result As MsgBoxResult
Dim clearMsg As String
clearMsg = "You have unsave changes. Are you sure you " & _
"want to proceede? Any unsave changes will be lost."
result = MessageBox.Show(clearMsg, "Switching Order Selection", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2)
If result = MsgBoxResult.No Then
RemoveHandler ListBoxItem.SelectedValueChanged, AddressOfListBoxItem_SelectedValueChanged
Me.ListBoxItem.SelectedValue = Me.itemID
AddHandler ListBoxItem.SelectedValueChanged, AddressOf ListBoxItem_SelectedValueChanged
Exit Sub
End If
End If
的代碼做什麼,我想它,但是我們要說當前項爲第H,如果我點擊B檢查項目將在列表框中顯示爲選中狀態,然後如果我選擇不繼續,它將恢復到項目H.我的頭痛在這裏:)找到正確的代碼,以便項目B不會在列表框中顯示爲選中狀態if否從消息框中選擇。預先感謝您的回覆。
感謝您的回覆。我想根據你的建議禁用ListBox控件我是在正確的軌道上。我也有一個DateTimePicker控件,一旦dsIsEditing = True,我就設置爲禁用。我應該想到對ListBox做同樣的事情。也感謝您提供代碼示例的鏈接。保重。 – Chaluta