我正在使用c#组合框控件,我希望允许用户输入新值。即我有DropDownStyle = DropDown。例如,我有一个组合框允许用户选择/输入国家代码。在加载表单时,我通过查询数据库来为各个国家的代码和显示文本设置组合框的数据集。用户可以选择一个现有的国家代码或输入一个新的国家代码。请不要问为什么我不能预先填充所有可能的国家/地区代码的组合框,因为它是一个有限的组,不经常更改,这是客户的要求,此外还有像这样的几个控件(测试中心等)。c#combobox编辑 - 最佳做法
现在当前组合框工作的方式是,如果用户键入新条目,我将新值添加到数据库并刷新数据集。我这样做是为了使新条目在数据库中具有适当的唯一代码。尽管这不是一个频繁的操作,但这会减慢应用程序的速度。目前我还将AutoCompleteMode属性设置为SuggestAppend。这是为了防止用户添加重复条目或输入现有条目的拼写错误。
这方面的最佳做法是什么?在内存中添加新条目并在稍后阶段将它们添加到数据库会更好吗?它是一个多用户应用程序,也有可能是其他人也可以添加相同的条目,尽管它很少。
这是一个在WinXP上运行的Windows窗体应用程序,有可能在Win7上运行,都是32位。
不需要`try catch`,`if`子句在这里就足够了。 – Otiel 2011-12-17 00:21:50