スレッドによる実行制御 .NET では、スレッドを用意にコントロールできる機能が用意されています。この機能を使えば、簡単に、処理の停止や、中断再開をするようなアプリケーションを作成できます。-----------VB.NETコーディングここから-------------------1.フォームに、ラベルコントロールを配置します。 (デフォルトのオブジェクトの名前 Label1)2.フォームで右クリックして、「コードの表示」を 選び、コード編集画面にします。3.宣言部に、次のコードを記述します。 Private thr As System.Threading.Thread4.さらに、 Public Class Form1 内に、 次のコードを記述します。 Sub run() Dim intCount As Integer Do intCount = intCount + 1 If intCount > 99999 Then intCount = 1 End If Label1.Text = intCount Loop End Sub5.フォームに、ボタンコントロールを配置します。 (デフォルトのオブジェクトの名前 Button1)6.ボタンコントロールの text プロパティに「スタート」と記述します。 ※説明用のためです。必須ではありません。7.ボタンコントロールをダブルクリックして、 ボタンのクリックイベントの編集を開始して、 次のコードを記述します。 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click 'サブルーチンをスレッドとして作成 thr = New System.Threading.Thread(AddressOf Me.run) 'スレッドの開始 thr.Start() End Sub8.フォームに、ボタンコントロールを配置します。 (デフォルトのオブジェクトの名前 Button2)9.ボタンコントロールの text プロパティに「終了」と記述します。 ※説明用のためです。必須ではありません。10.ボタンコントロールをダブルクリックして、 ボタンのクリックイベントの編集を開始して、 次のコードを記述します。 Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click 'スレッドの強制終了 thr.Abort() End Sub11.ビルドして実行します。12.フォームに配置したボタンコントロール「スタート」を クリックしてみると、フォーム上にカウンタが加算される 動作を行います。(表示上)13.フォームに配置したボタンコントロール「終了」を クリックしてみると、フォーム上にカウンタが加算される 動作がストップします。(表示上)-----------VB.NETコーディングここまで-------------------このほかに、thr.Suspend() 'スレッドの中断(中断後、再開が可能)thr.Resume() 'スレッドの再開などが使用できます。(他にも用意されています)上記、 thr は、宣言部で作成した定義名称であり、固定的なものではありません。 Private thr As System.Threading.Thread説明上、定義させていただきました。スロットや、複数のスレッドを実行させるようなアプリケーションでは、大変便利になりましたね・・・
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。