簡體   English   中英

ListBox.SelectedItem為空通知

[英]ListBox.SelectedItem is null notification

我需要跟蹤ListBox中的當前選定項,以在選定項變為null時關閉窗體上的其他控件。 我嘗試使用SelectedIndexChanged事件,但是當選擇的項目為null時不會引發。

你能建議點什么嗎?

更新:所選項目變為空,因為我用空集合設置了新的數據源值。 可能是我遇到問題的原因嗎?

我需要解釋。 ListBox表示數據庫中項目的集合。 當用戶添加/編輯/刪除某些項目時,我通過調用此方法刷新列表框:

private void RefreshList()
{
     lbParts.DataSource = this.database.Fetch<part>(string.Empty);
}

它從數據庫中獲取所有項目,將其轉換為List<part>集合,並設置為ListBox DataSource。

那是不對的。 當SelectedItem變為null時,將引發SelectedIndexChanged。 在這種情況下,SelectedIndex將為-1。

編輯:您確實是正確的,當您更改數據源時,不會得到SelectedIndexChanged。 我建議您在更改DataSource 之前立即顯式設置SelectedIndex = -1

也許還可以處理DataSourceChanged事件? 如果列表框中可用的選項發生更改,那么我認為這是對表單可用控件進行刷新的原因嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM