2016-12-08 2 views
-1

同じフォームの複数のインスタンスを開いているので、そのフォームの1つのインスタンスを選択してフォーカスを取得します。だから私はコンボボックスから来る1つのタイトルを選択すると、異なる名前のフォームのすべてのタイトルをリストするコンボボックスを作った。Visual Basic.netで複数のフォーム(同じフォーム)から1つのフォームを選択(フォーカス)する

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

    If Application.OpenForms().OfType(Of Customers).Any Then 
     MessageBox.Show("Opened") 
     'code to select the form from the .text 
     '-> 
    End If 
End Sub 

答えて

0

List(Of Form)を作成する方が簡単かもしれないと、フォームの名前を使用してコンボボックスを移入されているとして、あなたはリストにフォームのそれぞれを追加することができます。次に、ComboBoxのアイテム0をクリックすると、フォームリストのインデックス0のフォームにフォーカスが当てられます。

'put this in your main declarations 
Dim ListOfForms As New List(Of Form) 

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

Private Sub PopulateComboBox() 
    ComboBox1.Items.Clear() 
    ListOfForms.Clear() 
    ComboBox1.Items.Add(frm1.Name) 
    ListOfForms.Add(frm1) 
    ComboBox1.Items.Add(frm2.Name) 
    ListOfForms.Add(frm2) 
    ComboBox1.Items.Add(frmX.Name) 
    ListOfForms.Add(frmX) 
End Sub 
+0

ありがとうございました!それはうまくいった! –

関連する問題