私はユーザーが新しい値を入力できるようにするために、C#コンボボックスコントロールを使用しています。すなわち私はDropDownStyle = DropDownを持っています。たとえば、ユーザーが国コードを選択/入力できるようにするコンボボックスがあります。フォームを読み込んでいる間、私はコンボボックスのデータセットをデータベースに照会し、国のコードとdisplaytextを照会します。ユーザーは既存の国コードを選択するか、新しい国コードを入力することができます。私はコンボボックスにすべての可能な国コードをあらかじめ入力することができない理由を尋ねないでください。変更が頻繁でない有限集合です。これは顧客の要件であり、このようないくつかのコントロール(テストセンターなど)があります。c#combobox edit - ベストプラクティス
現在、コンボボックスの仕組みは、ユーザーが新しいエントリを入力すると、データベースに新しい値を追加してデータセットを更新します。私はこれをして、新しいエントリーがデータベースに適切な一意のコードを持つようにします。これは頻繁な操作ではありませんが、アプリケーションを少し遅くします。現在は、AutoCompleteModeプロパティをSuggestAppendに設定しています。これは、ユーザーが重複エントリを追加したり、既存エントリのスペルミスを入力しないようにするためです。
この点に関するベストプラクティスは何ですか?新しいエントリをメモリに追加し、後の段階でデータベースに追加する方が良いでしょうか?それはマルチユーザアプリケーションであり、稀ではあるが他の人が同じエントリを追加する可能性もあります。
これはWinXP上で動作するWindowsフォームアプリケーションで、おそらくWin7上で実行される可能性があります。いずれも32ビットです。
'try catch 'を必要とせず、' if'節で十分です。 – Otiel