- PR -

Sub Main でShowしたフォームがSub Main終了で消える

1
投稿者投稿内容
ろーちゃん
ベテラン
会議室デビュー日: 2005/05/26
投稿数: 79
投稿日時: 2005-08-16 10:48
Sub Main でShowしたフォームがSub Main終了で消えてしまうのですが、
1)Sub Mainを終了させない方法
2)Sub MainでShowしたフォームが消えるのを待つ方法
3)Sub Mainですべてのモーダレスフォームが消えるのを待つ方法

1)か3)がベストだと思うのですが、方法をご教授ください
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-08-16 10:58
System.Windows.Forms.ApplicationクラスのRun静的メソッドを使用してメッセージループを行うのが自然かと思いますが。
何故Showを使うのでしょうか?
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-08-16 11:25
以下の辺りが参考になるかもしれません。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19079&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16723&forum=7

_________________
たつごろー
codeseek
こみゅぷらす
ろーちゃん
ベテラン
会議室デビュー日: 2005/05/26
投稿数: 79
投稿日時: 2005-08-16 14:22
Hongliangさん、たつごろーさん、ありがとうございます。

Run静的メソッドをつかうとそこで関数が止まって次の処理へ行かないという
状態になってしまいます。

とりあえず
フォームをShowして
Application.Run(basGlobal.gMyApplicationContext)
てなかんじで処理をとめてみましたが

Sub Mainの中でも、非表示のフォームの中でもいんですが
スレッドを上げて、「すべてのフォームが閉じたら終了する」
というコードを書きたいのですが、どうすればいいでしょうか?
非表示のフォームならスレッドでなくタイマでもいいと思うんですが。
ヨロシクおねがいたします
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-08-16 14:23
Show メソッド、ShowDialog メソッドおよび、Application.Run の違いを把握した上で、
エントリ ポイントを実装すべきですね...

Sub Main と言っているので VB でしょうね。

コード:

Public Class Main

  #Region " エントリ ポイント "

    Public Shared Sub Main()
        Dim hForm As Form1

        Try
            hForm = New Form1()
            Application.Run(hForm)
        Finally
            If Not hForm Is Nothing Then
                hForm.Dispose()
            End If
        End Try
    End Sub

  #End Region

End Class





_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-08-16 16:19
じゃんぬせんせー、元質問は「すべてのフォームが閉じたら終了する」という話なので、
メインフォーム作っちゃまずいです。

ヘルプの「ApplicationContext クラスについて」のサンプルが、ほぼそのまま使えるんじゃないでしょうか。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-08-16 16:26
こんにちは、じゃんぬ @ 誤爆魔です。

引用:

にしざきさんの書き込み (2005-08-16 16:19) より:
じゃんぬせんせー、元質問は「すべてのフォームが閉じたら終了する」という話なので、
メインフォーム作っちゃまずいです。


あららー、途中に掲載されたリンクで質問内容を失念してました。(^-^;)
嗚呼、恥ずかしいです... (/-\*)

引用:

ヘルプの「ApplicationContext クラスについて」のサンプルが、ほぼそのまま使えるんじゃないでしょうか。


罪滅ぼしにリンクだけでも...w

  System.Windows.Forms.ApplicationContext クラス



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)