|
■No96058 (やま さん) に返信 > 名前を別にしても、comboBox2で設定した初期値しか反映されません。 初期値というのは、何の事を指していますか? また、「反映されない」というのは、どうなって欲しいのに、実際にはどうなってしまうのでしょうか。
> ←5個作成 ソースコードを省略せずに、「現象を再現できる『最低限』の検証コード」を貼ってください。 掲示板に記述されていない箇所に問題があった場合、それを想像で補って指摘するのは困難です。
たとえば、panel.Controls.Add しているのであれば、どの座標に追加するのかの指定 (あるいは、位置を自動割り当てしてくれるような FlowLayoutPanel の利用)が あると思いますが、それが無い場合、常時パネルの左上に重なって配置されてしまうでしょう。
また SelectedIndex を設定しているからには、少なくとも .Items への .Add / .AddRange もしくは .DataSource への割当があるはずですよね。
もしも comboBox1.DataSource と comboBox2.DataSource に割り当てているオブジェクトが 同一インスタンスだった場合、BindingContext の働きにより、選択情報が共有されることになります。
private void Form1_Load(object sender, EventArgs e) { string[] items = { "aaa", "bbb", "ccc", "ddd", "eee", "fff" }; // comboBox1 と comboBox2 の DataSource は同一インスタンス // comboBox3 のものは同一内容の複製 comboBox1.DataSource = items; comboBox2.DataSource = items; comboBox3.DataSource = items.Clone(); // SelectedIndex を comboBox2 だけを変更しているのに // comboBox1 の SelectedIndex も連動する comboBox2.SelectedIndex = 2; }
|