0

「sys」というクラスにnotifyというサブがあります。このサブを、notifyicon/balloontip の代わりとして通知フォームとして使用しています。

だから、それはこのようなものに見えます...

sys.notify("message")

私の問題は、通知を表示してすぐにフォームを閉じる必要があることです。私が今持っている方法では、通知がまだアクティブな間にフォームが閉じ、通知が途切れます。

それを呼び出したフォームが閉じられた後でもそれを続ける方法はありますか、またはフォームを閉じる前に通知が完了するまで待つ必要がありますか?

4

2 に答える 2

0

可能性があります。

1) 通知部分: 別のスレッドでコーディングして、メイン フォームが閉じられても閉じないようにします。

2) より簡単な方法: メイン フォームの終了イベントで、通知部分が表示されているか、メイン フォームが非表示になっているかを確認し、表示されていない場合はフォームを閉じます。はいの場合、フォームを非表示 (非表示) にして、終了イベントを中止します。通知部分では、通知自体を閉じるときに、メインフォームが非表示になっているかどうかを確認し、非表示の場合は閉じてから、通知を閉じます。

2) の鍵は、メイン フォームを閉じるのではなく非表示にすることです。

于 2012-12-06T20:18:54.377 に答える
0

重要なのは、バックグラウンドではないスレッドを開始することです。フォームは閉じられますが、バックグラウンド以外のスレッドが完了するまでプロセスは実行され続けるため、バロンチップが表示されたままになります。

バルーンチップを表示したい場所(サブまたは関数)にこれを置きます:

Dim x As New Threading.Thread(AddressOf somesub)
x.IsBackground = False
x.Start()

そして、これをどこかに置きます:

Private Sub somesub()
        sys.notify("message")
End Sub
于 2012-12-06T21:29:38.007 に答える