○VB.netウエイトのかかる処理
■重い処理時の砂時計カーソル-----------------------------------------
Dim BkCur As Cursor = Cursor.Current '現在のカーソルを取っておく
Cursor.Current = Cursors.WaitCursor '砂時計カーソルに入れ替える
'重い処理
Cursor.Current = BkCur '取っておいたカーソルに戻す
■スタートアップスクリーン---------------------------------------------
StartUpという名前でフォームを作成して、起動中と書いたラベルを貼り付けてスタートアップスクリーンとします。
Form_Loadにて、
Dim StartUpForm As New StartUp
StartUpForm.Visible = True
StartUpForm.Update() 'フォームの表示を描画させます。
'重い処理
StartUpForm.Visible = False
■スレッドに値を渡して実行する------------------------------------------
@値を渡して実行するクラスを作成します。
Public Class threadClass
Public a As Integer
Public Sub threadFunc() 'スレッドで実行したい部分を書く
Dim i As Integer
For i = 0 To 10
a = a + 1
Debug.WriteLine(a)
System.Threading.Thread.Sleep(1000) '重い処理と仮定する
Next
End Sub
End Class
A上のクラスをインスタンス化してスレッドにて回します
Dim t As New threadClass
t.a = 10 'スレッドに渡す引数のつもり
Dim thread1 As New System.Threading.Thread(AddressOf t.threadFunc)
thread1.Start()