2017-03-01 11 views
-1

を変更したときに、私はプログラムを作成したいリストボックス内の項目をクリックすると新しいフォームを呼び出すと、そのユーザーは、コンボボックス内の項目を選択したときには、リストボックスの項目が

(例:オプションの「カテゴリー1」を選択した)

リストボックスには、いくつかのオプション

で更新されます(例:「プログラム1」、「プログラム2」、)

ユーザーがいずれかのオプションを選択して、新しいフォームが起動されるボタンを経由して、それを開始し

、各オプションは異なる形式を持ち、各カテゴリにはオプションがあります

これを行う方法を教えてください。 - ありがとうございます!

+1

まだ試したことがありますか – user3164339

+0

[方法:別のフォームから1つのフォームを表示する](https://msdn.microsoft.com/en-us/library/ws1btzy8(v=v2/90).aspx) 。違いは、(例えば、 'ComboBox'選択に基づいて)1つ以上の引数を取るコンストラクタを作成し、その値に基づいてコンストラクタで必要な処理を行うコンストラクタを作成したいということだけです。 – sab669

答えて

2

まあ、

あなたがリストボックスの値を保持する文字列の配列を使用していると仮定しましょう。例えば

:あなたがそれぞれに関連付けること...など、値.. "プログラム1"、 "プログラム2" が移入

string[] category1; 
string[] category2; 

"カテゴリ。"

これで、コンボボックスにSelectedIndexChangedイベントがあります。コンボボックスから必要なカテゴリを選択すると、そのオプションに関連付けられた配列の内容をリストボックスに入力できます。

例:

 private void yourComboBoxName_SelectedIndexChanged(object sender, 
    System.EventArgs e) 
{ 
      if (yourComboBoxName.text == "category1") 
       'populate listbox with that categories options 
      elseif (yourComboxName.text == "category2") 
       'populate listbox with that categories options 
      end if 
} 

あなたはリストボックスが開くために、フォーム上のボタンのために、ではないコンボボックス上のSelectedIndexChangedイベントとは異なり、クリックイベントを持つものとして、そのような単純なあなたの正しいオプションを投入したらそのオプションはそのオプションに関連付けられています。

例:単純化のため

private void yourButtonName_Click(object sender, System.EventArgs e) 
{ 

      if (yourListBoxName.text == "option1") 
       'call form to show 
      elseif (yourListBoxName.text == "option2") 
       'call form to show 
      end if 
} 

私はあなたのための配列やif文を使用しますが、実際に猫を肌千通りの方法があります。ハッピーコーディング

+0

最後の2つの部分を理解していますが、arryに値を設定する最初の部分を明確にすることはできますか? – Winter

+0

string [] category2 = {"日"、 "月"、 "火"、 "水"、 "木"、 "金"、 "土"};次に、category2 [2] = "Tue"などのその場所を呼び出すことでアクセスできます。この答えがあなたを満たしている場合は、それを –

+0

とマークしてください。回答に気にしない場合は、特定の項目が選択されたときにラベルに説明を表示する方法がありますか?したがって、ユーザーが「option1」を選択すると、その横に宣言されたラベルに説明が表示されます。この説明は他のオプションとは異なります。 – Winter

関連する問題