我在列表框中遇到問題。
如果我有一個文本框和一個將數據放入列表框的添加按鈕。
意外地輸入了兩次相同的名字。
如何防止列表框中的重複項?
我是否將代碼輸入到按鈕部分或列表框中?列表框重複項
列表框重複項
回答
您可以在添加它之前簡單地檢查它是否已經存在,例如,與Linq:
bool contains = lbName.Items.Cast<ListItem>()
.Any(li => li.Text.Equals(txtName.Text, StringComparison.OrdinalIgnoreCase));
if(!contains)
{
lbName.Items.Add(new ListItem(txtName.Text));
}
假設您要比較不區分大小寫。
編輯既然你真的想完整的文件路徑添加到ListBox
,但要防止以相同的文件名稱的第二個文件被添加,你可以使用Path
類:
string fullFilePath = ....
string fileName = Path.GetFileName(fullFilePath);
bool contains = lbName.Items.Cast<ListItem>()
.Any(li => Path.GetFileName(li.Text).Equals(fileName, StringComparison.OrdinalIgnoreCase));
if (!contains)
{
lbName.Items.Add(new ListItem(fullFilePath));
}
如果這個文本框是一個文件瀏覽器的目錄,它將文件名添加到列表框中,但是如果再次按下文件名將被重新添加? – 2013-02-28 11:19:35
@KevinChun:恐怕我無法跟隨。該代碼適用於任何字符串,源代碼無關緊要。或者你想要將**完整路徑**添加到文件中,但是想要防止添加具有相同**文件名**的第二個文件? – 2013-02-28 11:22:14
:是的,這是正確的。 – 2013-02-28 11:23:41
在你點擊鏈接,你可以有這樣的事情:
if (this.listBox.Items.Contains(this.txtCustomerName.Text) == false)
{
this.listBox.Items.Add(this.txtCustomerName.Text);
}
或者,如果你使用時listItems:
ListItem item = new ListItem(this.txtCustomerName.Text);
if (listBox.Items.Contains(item) == false)
{
listBox.Items.Add(item);
}
什麼是假設替換txtCustomerName? – 2013-02-28 11:28:57
@KevinChun你想檢查的值.. – stuartd 2013-02-28 11:45:21
添加代碼按鈕,你甚至可以添加代碼到您的文本框的事件檢查生活,輸入的文本是正確的。
- 1. 檢查重複列表框中的重複項
- 2. 重複列表中的重複項
- 3. 防止列表框重複
- 4. 列表中的重複項
- 5. REST POST重複列表項
- 6. 重疊列表框項目
- 7. asp複選框列表重複方向
- 8. 使用其他列表的重複項刪除項目列表
- 9. 如何刪除列表框中的重複項目
- 10. 在列表框中着色重複的項目
- 11. 如何讓列表框禁止重複項目?
- 12. 從列表框刪除重複的項目(字符串)
- 13. 防止重複的項目被添加到列表框
- 14. 修改列表框中的重複項目
- 15. 刪除重複的列表項從列表的列表清單
- 16. 刪除項目從複選框列表
- 17. 如何提高複選框列表項
- 18. MVC:待辦事項列表複選框
- 19. 列表框中沒有重複excel
- 20. 重複打開文件的列表框
- 21. 計數列表框中的重複
- 22. 擺脫VB列表框中的重複
- 23. VBA刪除列表框重複
- 24. 如何篩選重複的列表項
- 25. Python列表中填有重複項
- 26. 確定重複列表項的運行
- 27. 刪除列表中的重複項目
- 28. 在列表中選擇重複項linq
- 29. 合併列表中的重複項
- 30. Android重複列表視圖項
你能發表一些代碼嗎?你已經嘗試了什麼? – 2013-02-28 11:06:59
@MartinMcGirk:發表! – 2013-02-28 11:34:21