2017-11-05 19 views
0

私はVisual Basic Community 2017上で様々なドロップダウンアイテムを持つComboBoxesの深刻なプログラムをやっています。コンボボックスの特定の組み合わせがある場合は、このフォームを開きます。私はこれをどのように実装しますか?ComboBoxがリストの項目と等しい場合、これを行いますか?

例:

ComboBox1の項目(列)は1、2、3、4、5

ComboBox2項目(列)= A、B、C、D、E

コンボボックス3つの項目を= (文字列)は、B、C、D、E

ユーザが1、ピック、

がボタンをクリック=

次に、フォーム1を表示

ありがとう、私はそれが十分な意味があることを願っています。

私が試したコードは、あなたのケースに基づいて、サンプルコードが続き

Public Class Form2 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     If ComboBox1.SelectedText.ToString() = "1" And ComboBox2.SelectedText.ToString() = "a" And ComboBox3.SelectedText.ToString() = "A" Then 
      Then 
      Form1.Show() 
     Else 
      MsgBox("Doesn't Work") 

     End If 
    End Sub 
End Class 
+1

おそらく 'If'文が目標を達成するのに適切な方法でしょう。 – YowE3K

+1

私はこれを質問に追加しておくべきだと思います。私はIfステートメントのアプローチを試みましたが、私が望むフォームは表示されませんでした。実際それは何も示していなかった。 –

+1

確かに、あなたが試したコードを含めるように質問を更新してください。そうすることは、問題が「広すぎる」(または同様の)ものとして閉鎖されるのを防ぐのに役立ち、「研究努力を示さない」ために下降音を防ぐのに役立ちます。 – YowE3K

答えて

1

ました。これがあなたを助けることを願っています。

Public Class Form2 
    Dim selectedItem1, selectedItem2, selectedItem3 As Object 

    Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged 
     showForm1() 
    End Sub 

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged 
     showForm1() 
    End Sub 

    Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged 
     showForm1() 
    End Sub 

    Private Sub showForm1() 
     selectedItem1 = ComboBox1.SelectedItem 
     selectedItem2 = ComboBox2.SelectedItem 
     selectedItem3 = ComboBox3.SelectedItem 
     If selectedItem1 Is Nothing OrElse selectedItem2 Is Nothing OrElse selectedItem3 Is Nothing Then 
      Exit Sub 
     End If 

     If ((selectedItem1.ToString() = "1") AndAlso (selectedItem2.ToString() = "a") AndAlso (selectedItem3.ToString() = "A")) Then 
      Form1.Show() 
     End If 
    End Sub 

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    ' your code to initialize items of ComboBox1, ComboBox2, ComboBox3 
    End Sub 
End Class 
+1

[** 'AndAlso'と' OrElse' **](https://stackoverflow.com/questions/8409467/orelse-and-or-and-andalso-and-and-when-to-use)を使うべきです。 )の代わりに 'And'と' Or'を使います。 –

+0

@VisualVincentはい、あなたのコメントのおかげで、あなたの提案もうまくいきます。 –

関連する問題