DOBON.NET DOBON.NETプログラミング掲示板過去ログ

初回フォーム表示時の処理

分類:[.NET]

初めて投稿します。

簡単な事だと思うのですが、Windowsアプリケーションにてフォームが表示された後、
自動で処理を実行したい場合は、どのイベントで実現するのが普通なんでしょうか?

Loadイベントはフォームが表示される直前なのでこのような事が出来ません。
処理を実行している間は、フォーム上には「処理中」とだけ表示しておきまして、
処理が終わったら自動でプログラムを終了させたいのです。
■No166に返信(cizmさんの記事)
> 初めて投稿します。
>
> 簡単な事だと思うのですが、Windowsアプリケーションにてフォームが表示された後、
> 自動で処理を実行したい場合は、どのイベントで実現するのが普通なんでしょうか?
>
> Loadイベントはフォームが表示される直前なのでこのような事が出来ません。
> 処理を実行している間は、フォーム上には「処理中」とだけ表示しておきまして、
> 処理が終わったら自動でプログラムを終了させたいのです。
>
>
通常は、Activatedを使って、フォームがアクティブになった時といったイベントを使います。
が、それでは、フォームがアクティブになる度にイベントが発生してしまいます。
そこで、Timerを使って、一回限りのイベントを自動で走らせるといった方法があります。もちろん、Tickイベントが発生したら、そのイベント処理内でTimerのEnabledをFalseに変えないといけませんよ。
> 通常は、Activatedを使って、フォームがアクティブになった時といったイベントを使います。
> が、それでは、フォームがアクティブになる度にイベントが発生してしまいます。

初回起動のフラグを持てば綺麗に収まるのではないかと思います。
> 初回起動のフラグを持てば綺麗に収まるのではないかと思います。

とりあえず、方法は色々とあると云う事です。
クリリンさん、mbさんのような方法で十分だと思いますが、「フォームが表示された後」というよりも「処理が終わったら」ということであれば、Application.Idleイベントを使うという手もあります。

DOBON.NET | プログラミング道 | プログラミング掲示板