我有一個列表框,數據綁定到對象列表<>對象。在ListBox_SelectionChanged事件上,我正在檢查所選索引是否是列表<>中的最後一項。如果selectedIndex是最後一個項目,那麼我想刪除該項目並調用我的Web服務以將更多項目添加到列表中。但是,如果selectedIndex不是最後一項,我想導航到一個頁面。我的問題是,如果selectedTndex是最後一個項目,它會去掉最後一個項目,但是它會再次回到相同的「if」條件,我會檢查selectedIndex是否是最後一個項目。所以,而不是打電話給我的服務,它導航到下一頁。有人可以告訴我爲什麼它再次調用if()條件以及如何處理它?根據C#中的條件刪除包含對象列表<>的列表框的最後一項。
3
A
回答
1
我認爲,當你從列表框中刪除你的項目時,他(ListBox控件)會自動選擇上一個項目,並且會觸發SelectionChanged事件。所以你可以從這個事件(在僞代碼)之前剛剛退訂:
bool isLast = ... ;
if (isLast)
{
listBox.SelectionChanged -= OnSelectionChanged;
Remove(item);
listBox.SelectionChanged += OnSelectionChanged;
}
所以,當您將刪除您的項目這一事件不會再次觸發。另外,也許你會想清除選擇:
listBox.SelectedIndex = -1;
+0
它的工作。 ...非常感謝。 – Shan
0
相關問題
- 1. 根據C#中的條件刪除列表<T>中的重複項
- 2. C#從包含列表的列表中刪除重複項
- 3. Winforms包含列表的數據綁定對象<T>
- 4. asp.net的MVC C#列表<>刪除
- 5. 從列表中刪除包含某些數據的對象
- 6. Android:HowTO刪除列表和列表中的最後一項
- 7. 刪除C#中的列表<String[]>中的重複項目
- 8. 刪除鏈接列表中的最後一項的問題c
- 9. 如果列表對象包含東西從列表中刪除
- 10. 序列表列表<T>包含列表<T>
- 11. 刪除列表框中的最後一項? vb 2008
- 12. 列表<string>項目包含此
- 13. 添加/刪除列表<>在列表框中選擇的項目
- 14. 刪除列表中的重複項<T>根據Lambda選擇的屬性
- 15. C#從列表<>中刪除重複的字典項?
- 16. 從列表中刪除重複項的C#方法<T>
- 17. 如何從列表中刪除特定的對象<T>
- 18. C#列表<T>包含測試
- 19. 根據分組刪除除列表中的所有對象
- 20. C#列表<object> .RemoveAll() - 如何刪除列表的子集?
- 21. XML包含對象列表的對象的序列化列表
- 22. c#lambda表達式根據不同列表中的給定條件從列表中刪除項目
- 23. 迭代通過列表的Python列表和刪除根據條件列表
- 24. 列表<String>不刪除項目
- 25. 包含列表的XSL重複模板對象<Object>
- 26. 如何根據C#中的條件刪除一組Json對象?
- 27. 根據條件從列表中刪除項目
- 28. 根據日期條件從通用列表中刪除項目
- 29. 列表<Type>刪除
- 30. C#序列化包含更多列表的對象列表
請發佈你想要做的一些代碼。 – Anchit
我覺得當你刪除你的項目ListBox控件時會自動集中前一個項目,並且它會觸發SelectionChanged事件。所以你可以退訂這個活動,當你需要它(當你刪除物品),然後再次訂閱 – acrilige