タイトル | : Re^8: 他画面にデータを表示する方法 |
記事No | : 9701 |
投稿日 | : 2009/12/04(Fri) 15:33 |
投稿者 | : いと |
b画面のボタンクリックで処理が開始し、a画面側の関数を呼び、そこでスレッドを 生成しています。その中でエラーが発生した場合にb画面のデータグリッドビュー にメッセージ表示したいと思いました。。
エラー発生時a画面で b.HistoryLog("123")
b画面で Delegate Sub dgvLog111(ByVal log As String) Dim dgvLog222 As New dgvLog111(AddressOf HistoryLog)
Public Sub HistoryLog(ByVal text As String)
If Me.bbb.InvokeRequired = True Then Me.Invoke(dgvLog222, New Object() {text}) Else Me.bbb.Rows.Insert(0, text) End If End Sub
しかしながら、表示されませんでした。 何が問題かわかりません。 よろしくお願いします。
> > もしも画面 a と b が異なるスレッドに存在しているのだとしたら、 > > a 側から『b.bbb.Rows.Add(0, "テスト")』や > > 『[b画面のインスタンス].bbb.Rows.Add(0, "テスト")』を > > 呼び出す事はできません。イベントや BeginInvoke などを通じて、 > > 「bbb の操作を b に依頼する」ような実装にする必要があります。
|