0

vb.net アプリケーションを作成し、frmScan と呼ばれる 1 つの Windows フォームを追加します。2 つのテキスト ボックスと 2 つのラベルを配置します。次に、デリゲート イベントを使用して次のスレッドを記述します。

Private Delegate Sub DoInitializedDelegate() 

Public motdet As New Thread(AddressOf MotionDetection)

Private Sub MotionDetection()
'Do motion detection Work
'It is never ending Loop until form unload.
End Sub

次に、フォームの読み込みイベントで開始します。

Private Sub frmScan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
motdet.Start()      
End Sub

そのため、フォームをロードしたときに問題が発生しました。フォームは見えますが、何かをロードするようなものです。モーション検出スレッドは、フォームがアンロードされるまでループを終了しないと思いました。上記の 2 つのテキスト ボックス内には何も入力できません。どうすればいいですか?

4

1 に答える 1

1

Application.DoEvents()実行時間の長いスレッドを呼び出す前に使用します。

ここで例を参照してください http://msdn.microsoft.com/en-us/library/aa446540.aspx

于 2012-08-27T05:06:41.413 に答える