Iam使用AutoCompleteMode我的文本框。它會將銀行名稱附加到我的文本框中。所以當我第一次打字的時候,所有的銀行名字都會以第一個字母的形式出現在我的文本框中。現在我的問題是 如果用戶試圖將不在我的下拉列表中的數據包含進來,用戶就不應該發送文本。所以我希望用戶只能使用現有的銀行名稱。Iam將AutoCompleteCustomSource用於下拉文本框。如何停止輸入文本,當用戶離開autoCompleteMode文本c#
0
A
回答
0
嘗試這樣的:在「驗證」瓶坯的插入txtbox每個字符
bool foundSome = false;
foreach (var bankName in col)
{
foundSome = bankName.StartsWith(textBox.text);
}
if (foundSome)
//Do some action
你可以這樣寫代碼。
0
實現您的需求的最佳方式是使用1個文本框和1個組合框。他們都應該指向相同的集合。
正如您所描述的那樣,文本框將在自動完成模式下運行。一旦您鍵入,組合框值將被設置爲您集合中的第一個匹配值。如果沒有值匹配 - 組合框值應該設置爲空或默認數據。
Combobox將只存儲相應的數據子集,不可能編輯選定的文本。
驗證和數據檢索將從Combobox值完成。
該方法的優點:
- 使用大量數據,用戶可以更容易地找到他/她需要的東西。
- 檢查輸入值是屬於數據集還是強制歸屬的較小代碼。
- 不需要驗證。
可能的缺點:
- 一個更多的控制形式。
- 應該實現同步文本框文本和組合框集合的邏輯。
相關問題
- 1. 停止程序的流程直到用戶輸入文本(c#)
- 2. 如何阻止用戶輸入文本框C中的空間#
- 3. 如何阻止用戶離開文本框
- 4. AutoCompleteMode不工作文本框C#
- 5. 在輸入的文本中停止html
- 6. 停止擴展文本字段的用戶輸入
- 7. 當用戶進入停止「輸入」鍵
- 8. 如何輸入文本文件在C++
- 9. 用戶輸入文本框
- 10. 如何從C#中的用戶文本輸入中拉出距離?
- 11. 如何防止用戶在文本區域輸入空格
- 12. 如何防止用戶輸入空格到欄文本字段
- 13. jquery:在離開文本輸入後如何拾取變量
- 14. 如何停止wxhaskell在文本控件中輸入?
- 15. 如何停止輸入密鑰刷新html文本框?
- 16. 如何停止輸入爲HTML解釋信息的文本框
- 17. 如何用預設文本替換輸入的文本c#
- 18. 當用戶停止輸入文字時運行一個函數
- 19. C#:用戶開始輸入時激活文本框
- 20. 禁止輸入文本
- 21. 如何停止訪問文本文件?
- 22. 如何使用C++中的fputs將用戶輸入寫入文本文件
- 23. C - scanf沒有停止用戶輸入
- 24. AWK:用戶輸入文本文件
- 25. 如何用戶輸入在文本框asp.net C#
- 26. 當用戶離開文本框時隱藏鏈接按鈕
- 27. 如何從文本框輸入LINQ C#
- 28. 如何找出用戶在文本輸入中按下「輸入」?
- 29. 如何防止文本脫離元素?
- 30. 將文本用戶輸入寫入excel
plz先輸入您的代碼。 – Milind
如果用戶不被允許輸入新名稱,那麼可能是一個更合適的解決方案[combobox](http://stackoverflow.com/questions/11780558/c-sharp-winforms-combobox-dynamic-autocomplete)。 – CodeCaster
對我來說最簡單的方法似乎是,您可以驗證用戶提交表單時的值。如果它不是有效值,則向用戶顯示錯誤(即「請輸入有效的銀行名稱」)。 –