- - PR -
【C#、.NET】Application.RunでFormを表示した直後にメソッドを実行するには?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-10-18 16:23
C#(.NET),Windows2003Serverで開発をしています。
Application.Runでメインフォームを表示後に、別クラスのメソッドをはしらせたいのですが、メインフォームが表示されたことを判定するイベントが見つかりません。。 そのようなイベントはないのでしょうか?なければ、ほかに方法があるのでしょうか?ご存知の方がいらっしゃれば、どうかご教授願います。 | ||||
|
投稿日時: 2005-10-18 16:32
Form.Activated イベントですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-10-18 16:33
お世話になります。
メインフォームのLoadイベントの最後に、 別クラスのデリゲートを呼ぶのは いかがでしょうか。 | ||||
|
投稿日時: 2005-10-18 17:35
じゃんぬねっとさん、なおこさん、早速の返信ありがとうごさいます☆
処理的には、メインフォーム表示直後にクラスライブラリのフォームを表示し、そのフォームで入力した結果をメインフォームに反映させる、という内容でした。 じゃんぬねっとさんから教えていただいたActivated イベントで結果的には解決しました。別フォームのフォームは1度だけ表示したかったのですが、Activatedイベントではメインフォームに戻るたびActivatedイベントが発生したので、フラグを立てて強引に解決した感じです(汗) なおこさんより教えてもらったメソッドをデリケードに登録し、メソッドを呼び出す方法はまだ試していませんが、こちらの方法でも試してみようと思います。 ありがとうございました(・ω・`) | ||||
|
投稿日時: 2005-10-18 19:45
フラグで管理するのではなく、ActivatedイベントのハンドラでActivatedに追加したハンドラを削除しましょう。
| ||||
|
投稿日時: 2005-10-18 22:22
ん……?
Loadイベント(フォームの表示直前で発生)のほうが素直に書けませんか?
Loadのほうだとハンドラ削除は不要です。 [ メッセージ編集済み 編集者: nak2k 編集日時 2005-10-18 22:23 ] | ||||
|
投稿日時: 2005-10-19 08:49
「メインフォームが表示されたことを判定する」と書いてあったからではないでしょうか? また、Load イベントの場合は不都合が起きることもあります。(Draw 系など) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
1
