System.Windows.Forms.ComboBox を使用していますが、奇妙な予期しない動作が発生しています。C# では、フォームにいくつかのコンボ ボックスを動的に追加し、それらをリストにバインドしています。私が設定している唯一のフィールドは、DataSource、ValueMember、および DisplayMember です。何らかの理由で、リストにバインドした後、最初の項目が選択されます。何が起こっているのかわかりません。
私のコードは次のようになります。
Control c = new System.Windows.Forms.ComboBox();
すべてのコントロールをループして、
if (c?.GetType() == typeof (ComboBox))
{
BindComboBox((ComboBox) c);
}
private void BindComboBox(ComboBox sender)
{
DataTable table = DataGateway.GetTables(1);
sender.DataSource = table;
sender.ValueMember = "ID";
sender.DisplayMember = "Name";
//sender.SelectedIndex = -1; I tried with this and without this
}
2番目の方法も試しましたが、同じことが起こっています-
private void BindComboBox(ComboBox sender)
{
List<string> hiStrings = new List<string>() {"hi", "hello", "whats up"};
sender.DataSource = hiStrings;
}