0

私は、最初のドロップダウンリストを使用して映画カテゴリを選択し、2番目のドロップメニューでそのカテゴリの映画が表示されるVBプロジェクトに取り組んでまし。ムービーは、カテゴリ別に 2 次元配列に格納されます。

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

私は試した:

  • .AddRange (movie_list_combobox)
  • .AddRange (movie_category_combobox)
  • .AddRange (Array(movie_list_combobox))
  • .AddRange (Array(movie_category_combobox))

何も機能していません。

変更された項目:

  1. 更新された配列
  2. if/else ステートメントを使用する代わりに、for/next を使用しています (Select Case も使用しなくなりました)。
  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

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

4

1 に答える 1

0

私の意見では、あなたの問題はあまり明確ではありません...ところで、私があなたの中にいたらどうするかをあなたに話すことであなたを助けることができるかもしれません。この方法で2次元配列を宣言します。インデックス0の面白い映画とインデックス1の巨大な映画...

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

次に、映画カテゴリのコンボボックスにデータを入力します。

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

最後に、movie_category_combobox.SelectedIndexChangedがスローされた場合、必要なのは次のことだけです。

 '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) )

それが役に立てば幸い....

于 2012-05-10T22:39:14.213 に答える