掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Form2のみを完全に終了するには? (ID:102215)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
現在Form1で条件を判別し、条件にマッチしたらForm2を起動し、Form1ではそのまま条件判別を実行するプログラムを考えています。 Form2ではForm1から渡されたパラメータで処理を起動し、その処理が指定された時間内に終了すれば正常終了の処理、規定の時間を過ぎれば異常終了の処理をForm2の中で実行します。下記がそのソースです(条件判別は省略) Public Class Form1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim fi2 As New Form2 fi2.RunTime = 10 fi2.PathPG = "c:\test.txt" fi2.Show() End Sub End Class Public Class Form2 Friend RunTime As Long '処理時間 Friend PathPG As String '処理のパス Private TimeSec As Long = 0 '経過時間の計算 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(PathPG) p.EnableRaisingEvents = True p.SynchronizingObject = Me AddHandler p.Exited, AddressOf p_Exited Timer1.Enabled = True End Sub 'プロセスが終了したときに実行される Private Sub p_Exited(ByVal sender As Object, ByVal e As EventArgs) MsgBox("正常終了しました。") '本当は正常終了のログを出力するだけです End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick TimeSec = TimeSec + 1 If TimeSec > RunTime Then Timer1.Enabled = False MsgBox("規定の時間ないに処理が終わりませんでした。") '本当は異常終了したメールを飛ばします。 Me.Close() End If End Sub End Class しかし、Form1のボタンを押してForm2を表示させ、Form2の閉じるを押してForm2を落としても指定の時間が経過するとメッセージが表示されます。 また、規定の時間がきてメッセージをOKしてForm2を落としても、プログラムを終了するとメッセージが・・・ 完全にForm2の機能を閉じることはできないのでしょうか? また、ほかに良い方法がありましたらよろしくお願いします
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.