2011-01-24 90 views
2

ボタンを持つフォームがあり、クリックするとダイアログフォームがポップアップします。このダイアログフォーム内で、ユーザはいくつかのデータを選択する必要があり、ユーザが終了するとOKボタンをクリックします。 OKボタンをクリックすると、整数を前のフォームに戻す必要があります。VB.NETフォーム間でのデータの受け渡し

私はダイアログフォームを作成し、以下のコードを経由して、それを呼び出してみました:しかし、私だけDialogResultsを返すことができるようだ

Dim intResult as Integer = frmData.ShowDialog() 

Debug.Writeline(intResult) 

(無視、キャンセル、中止...)

私がいましたパブリック変数を作成してそこに結果を格納することなく、これをどうやって試すことができるのだろうかと思っています。

答えて

4

値を返すダイアログにプロパティを作成します。

If frmData.ShowDialog() Is Not DialogResult.Cancel 
    Dim value as integer = frmData.MyProperty 
    ... 
Endif 
2

ダイアログフォームでイベントを作成し、メインフォームに登録して、イベント引数に含まれる適切なデータを使用してダイアログ上に表示します。

1

(新規要素/ Windowsフォーム/ダイアログを追加する)プロジェクトにcutomダイアログを作成します。 それからインスタンスを作成し、showDialogを呼び出し、DialogResultがWindows.Forms.DialogResult.Okであるかどうかを確認します。すべてのコントロールにアクセスできます。例:

Dim d As New Dialog1 
Dim result As DialogResult = d.ShowDialog(Me) 
If result = Windows.Forms.DialogResult.OK Then 
    Dim selectedText As String = d.ComboBox1.SelectedText 
End If 
関連する問題