分類:[.NET 全般]
お世話になります。
環境
ソフト:VB.NET2003
OS:XP Pro SP2
フォームロード後、ボタンクリックイベントでスレッドを作成、開始して
スレッド内でグリッドに表示するデータを作成しデータテーブルに設定しています。
作成されたデータを
DataDG.DataSource = cdt
のようにデータグリッドに格納しようとすると
「あるスレッドで作成されたコントロールに対してイ、別のスレッドのコントロールを親にすることはできません。」
とエラーが出てしまいます。
ネットでInvokeを使ったやり方が記載されていたので、それに沿った修正を加えてみたのですが、
問題が解消されません。以下のように修正しました。
Private Delegate Sub ViewDataDelegate(ByVal cdt As DataTable)
Ptivate mdtGrid as DataTable
Private Sub ViewDG(ByVal cdt As DataTable)
Try
DataDG.DataSource = Nothing
DataDG.DataSource = cdt
Catch ex As Exception
End Try
End Sub
Private Sub DispInTable()
Dim ViewDataGrid As ViewDataDelegate
Try
' データグリッドに表示
ViewDataGrid = AddressOf ViewDG
ViewDataGrid.Invoke(mdtGrid)
Catch ex As Exception
Throw ex
Finally
End Try
End Sub
ご教授お願い致します。
|