2012-05-10 56 views
0
私は映画のカテゴリを選択する 第一ドロップダウンリストを使用して、 第二ドロップメニューで、そのカテゴリから映画がなるVBのプロジェクトに取り組んできました

表示されます。ムービーはカテゴリ別に2次元配列で格納されます。2つのコンボボックスと2次元配列

私の配列を編集できましたが、私の.AddRange()関数に問題があります。カテゴリが選択されているときに、私は2ndのコンボボックスに表示するリスト(各カテゴリ)の括弧に何を入れなければなりませんか?

私が試した:

  • .AddRange(movie_list_combobox)
  • .AddRange(movie_category_combobox)
  • .AddRange(配列(movie_list_combobox))
  • .AddRange(配列(movie_category_combobox))

何も機能していません。

アイテムが変更されました:

  1. 更新配列
  2. 代わりの場合/ else文を使用して、私は/次のために使用しています(もはやどちらかを選択ケースを使用して)
  3. )(addRangeを追加しました

私が添付しました以下の私のコード:

Public Class Video_Form 

Private Sub count_textbox_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles count_textbox.TextChanged 

End Sub 

Private Sub Count_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Count.Click 

    count_textbox.Text = Me.movie_list_combobox.Items.Count 

End Sub 

Private Sub movie_categories_combobox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles movie_categories_combobox.SelectedIndexChanged 

End Sub 

Private Sub movie_list_combobox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles movie_list_combobox.SelectedIndexChanged 

    Dim Movies(,) As String = {{"Meet", "Oxford", "Sterilite"}, {"Sunflower", "Seeds", ""}, {"Black Box", "", ""}, {"Dancing ", "", ""}, {"Dictionary", "", ""}, {"Glue", "Flight", ""}} 

    Dim row As Integer 
    Dim column As Integer 

    For movie_categories_combobox.SelectedIndex = 0 Then 
    row = 0 To 2 
    column = 0 To 0 
    movie_list_combobox.Items.Clear() 
    movie_list_combobox.Items.AddRange() 
    Next 

    For movie_categories_combobox.SelectedIndex = 1 Then 
    row = 0 To 1 
    column = 1 To 1 
    movie_list_combobox.Items.Clear() 
    movie_list_combobox.Items.AddRange() 
    Next 

    For movie_categories_combobox.SelectedIndex = 2 Then 
    row = 0 To 0 
    column = 2 To 2 
    movie_list_combobox.Items.Clear() 
    movie_list_combobox.Items.AddRange() 
    Next 

    For movie_categories_combobox.SelectedIndex = 3 Then 
    row = 0 To 0 
    column = 3 To 3 
    movie_list_combobox.Items.Clear() 
    movie_list_combobox.Items.AddRange() 
    Next 

    For movie_categories_combobox.SelectedIndex = 4 Then 
    row = 0 To 0 
    column = 4 To 4 
    movie_list_combobox.Items.Clear() 
    movie_list_combobox.Items.AddRange() 
    Next 

    For movie_categories_combobox.SelectedIndex = 5 Then 
    row = 0 To 1 
    column = 5 To 5 
    movie_list_combobox.Items.Clear() 
    movie_list_combobox.Items.AddRange() 
    Next 

    '//End If 
    '//End Select 

End Sub 

私のコードのどの部分が間違っているか教えてください。

答えて

0

私の意見では、あなたの問題はあまり明確ではありません...もし私があなたの中にいるなら、私が何をするかを伝えることによって、おそらく私はあなたを助けることができます。 このように2次元の配列を宣言します。インデックス0およびインデックス1 kolossalで面白い映画....

Dim array as new string(1,2) ={{"Scary movie", "Ace ventura", "American pie"}, {"Titanic", "avatar", "quo vadis"}} 

その後は、映画のカテゴリコンボボックスを移入:movie_category_combobox.SelectedIndexChangedが投げたとき

movie_category_combobox.items.addRange(new string(){"Funny movies", "Kolossal"}) 

最後に、あなただけに必要:

'clear the movie combobox 
movie_list_combobox.items.clear() 

'fill the movie combobox with the index at the selected position 
movie_list.combobox.items.addrange(array(movie_category_combobox.selectedIndex)) 

は私がExcelの「アレイ」を表示し、ですることは簡単だった

+0

....それが役に立てば幸いVBを使って配列を複製しようとします。現在働いているプロジェクトの唯一の部分は、count_clickコードです。私が持っている主な問題はif else文です。 2番目のコンボボックスに配列内の項目を表示する方法を知りたい。たとえば、コメディ部門では、表示されるべき映画は「Meet、Oxford、Sterilite」です。まだ混乱している場合は、あなたの方法を試してみるか、説明を編集してより明確にするでしょう。 – fragilewindows

+0

配列はコードセクションの "movie_list_combobox_SelectedIndexChanged"(コードスニペットの最後に近い)で、適切な2次元配列ですか? – fragilewindows

+0

遅くて申し訳ありませんが、私は働いていました!;)btw私は昨日投稿した2番目のポイントは、映画カテゴリのコンボボックスに値を設定するので、必要な仕事をします。 movie_category_combobox内の項目は配列変数の順序が同じであるため、 "movie_category_combobox.SelectedIndexChanged"イベントハンドラは必要なく、if if else if ... else if ..ブロックします(例:movie_category_combobox.item(0) )= "面白い映画"と同じ位置では、配列(0)は、面白い映画の配列を含みます。 – GiveEmTheBoot