我正在使用c#組合框控件,我希望允許用戶輸入新值。即我有DropDownStyle = DropDown。例如,我有一個組合框允許用戶選擇/輸入國家代碼。在加載表單時,我通過查詢數據庫來爲各個國家的代碼和顯示文本設置組合框的數據集。用戶可以選擇一個現有的國家代碼或輸入一個新的國家代碼。請不要問爲什麼我不能預先填充所有可能的國家/地區代碼的組合框,因爲它是一個有限的組,不經常更改,這是客戶的要求,此外還有像這樣的幾個控件(測試中心等)。c#combobox編輯 - 最佳做法
現在當前組合框工作的方式是,如果用戶鍵入新條目,我將新值添加到數據庫並刷新數據集。我這樣做是爲了使新條目在數據庫中具有適當的唯一代碼。儘管這不是一個頻繁的操作,但這會減慢應用程序的速度。目前我還將AutoCompleteMode屬性設置爲SuggestAppend。這是爲了防止用戶添加重複條目或輸入現有條目的拼寫錯誤。
這方面的最佳做法是什麼?在內存中添加新條目並在稍後階段將它們添加到數據庫會更好嗎?它是一個多用戶應用程序,也有可能是其他人也可以添加相同的條目,儘管它很少。
這是一個在WinXP上運行的Windows窗體應用程序,有可能在Win7上運行,都是32位。
不需要`try catch`,`if`子句在這裏就足夠了。 – Otiel 2011-12-17 00:21:50