dポイントプレゼントキャンペーン実施中!

VisualStudio[C#]にてデスクトップアプリを作成しています。
コンボボックス1に[”麺”,”米”]
コンボボックス2に["ラーメン","そば","丼"]
コンボボックス3に["醤油","塩","たぬき","牛","豚"]
と選択できるとして、
コンボボックス1で[麺]を選択すると、
コンボボックス2で["ラーメン","そば"]のみ選択できるようになり
なおかつ、コンボボックス3で["醤油","塩","たぬき"]のみ選択できるようなことをしたいです。

条件分岐でできないか、やってみているのですが、
コンボボックスの値の取得が間違っているのかうまくいきません。

お手数お掛けしますが、ご教示のほど宜しくお願いいたします。

質問者からの補足コメント

  • 解決いたしました、ありがとうございました。

      補足日時:2020/12/01 23:20

A 回答 (1件)

上手くいかなく手の質問であればそのコードを提示されては?



あとはどこでデータを持たせるのか?にもよるでしょうね。
例えば『麺』の時の組み合わせや『米』の時の組み合わせを全て書き出しておかないとダメでしょう。
それをコード内でするのか外部ファイルに書き出しておいてフォームロード時に変数に読み込ませるとか、データベースファイルで保存しSQL文で抽出するとかの方向性次第かも。

と検証できない初級者は思います。
    • good
    • 0
この回答へのお礼

コード載せられてなく申し訳ございませんでした。
データはコード内に持たせております。
データベースから作成しようとしたのですが、
まずはデータベースを使用せずにしてみて、と言われまして……。

コードは以下になります。
int a = comboBox1.SelectedIndex;
if (a == 0)
{
comboBox2.Items.Clear();
string[] men = { "ラーメン","そば" };
comboBox2.Items.AddRange(men1);
}
else {
comboBox2.Items.Clear();
string[] kome = { "丼" };
comboBox2.Items.AddRange(kome);
}
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
int b = comboBox2.SelectedIndex;
if (b == 0)
{
comboBox3.Items.Clear();
string[] ramen = { "醤油","塩" };
comboBox3.Items.AddRange(ramen);
と、elseif続きを書いております。
コンボボックス1の内容を反映して
コンボボックス2は思い通りに絞れるのですが、
コンボボックス3が条件分岐で
コンボボックス2の配列内容が変わってしまう為、
コンボボックス2で丼を選択してもコンボボックス3で[醤油、塩]のみでてしまい、困ってます。

お礼日時:2020/12/01 22:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!