2017-08-16 64 views
0

我被我試圖克服的東西卡住了,並且不能。 上次我解決它,但我真的需要指出這一點。在vb.net中動態調用一個windows窗體的標題

我有一個多實例的表單,列出了作業的詳細信息,所以用戶可能會打開6個左右的表單實例,所有這些實例都有不同的信息。讓我們打電話給那個表格A.

在表單A中有一個選項可以將這個工作分配給用戶。 點擊該鏈接標籤將使用showdialog打開一個新窗體,其中組合框中填寫登錄用戶...讓我們打電話給該窗體B.

我想要做的是在窗體B上選擇的值傳遞迴窗體A,但是因爲表單A有多個實例,所以我不知道如何調用它。

表單A是JobDetails.vb,並且總是有一個表單標題「Job XXXXX Details」,所以我希望有一種方法可以使用標題來調用它。

希望大家有道理!預先感謝,如果它是一個愚蠢的問題,表示歉意。我覺得這應該是明顯的,但我無法實現。

+0

,你應該能夠把實際的形式,在一個單獨的變量,並通過任何數據存在。 –

+1

[ShowDialog幫助頁面](https://msdn.microsoft.com/en-us/library/c7ykbedk(v = vs.110).aspx)上的基本示例幾乎可以滿足您的需求。當它關閉並在主窗體上設置時,它從對話窗體中獲得一個值。 – Esko

+0

所以它!好的...該示例查找'system.Windows.Forms.DialogResult.OK',以說明何時完成showdialog ...有沒有一種方法可以查找按下showdialog表單上的按鈕? – John

回答

1

如幫助頁面ShowDialog所示,可以在對話框窗體關閉時輕鬆更改主窗體。所以你可以做這樣的事情:如果你知道窗體標題是什麼

Public Sub ShowMyDialogBox() 
    Dim testDialog As New Form2() 

    ' Show testDialog as a modal dialog and determine if DialogResult = OK. 
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then 

     Me.Text = String.Format("Jobs of {0}", testDialog.cmboUsers.SelectedValue) 
    Else 
     Me.Text = "Jobs" 
    End If 
    testDialog.Dispose() 
End Sub