次のコードがあります。
private void nameTextBox_Leave(object sender, EventArgs e)
{
var names = ConfigurationManager.AppSettings.AllKeys
.Where(k => k.StartsWith("name"))
.ToArray();
// Add names to combobox
comboBox.Items.AddRange(names);
}
問題は、テキストボックスから押すたびにTab、comboBox 要素が倍増し続けることです。ケン、ジョン、ティムがそこにいた場合、もう一度タブを押すと、それが 2 回表示されます。
上記の名前で個別を使用しようとしましたが、毎回新しいインスタンスが作成され、以前のインスタンスが保存されるため、何もしません。名前を追加した直後にコンボボックスを空にすることはできません。これは、コードの後半でボタンクリックで使用されているためです。
私が考えた唯一の代替手段は、グローバル変数を宣言し、その値が0であることを確認してから、コンボボックスに値を挿入するだけで、値が挿入されたら1に変更することでした。しかし、それは良いコーディング方法とは思えません。
これを行うためのより良い方法はありますか?