【MDI】特定の操作後にアプリが終了できないという悩み
- 題名: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: ayami0429
- 日時: 2010/01/05 23:55:06
- ID: 26178
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: Hongliang
- 日時: 2010/01/06 1:56:18
- ID: 26182
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: ayami0429
- 日時: 2010/01/06 7:48:27
- ID: 26183
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: 魔界の仮面弁士
- 日時: 2010/01/06 9:56:11
- ID: 26184
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: Hongliang
- 日時: 2010/01/06 10:52:03
- ID: 26185
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: ayami0429
- 日時: 2010/01/06 19:27:28
- ID: 26187
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: 【MDI】特定の操作後にアプリが終了できないという悩み
- 著者: ayami0429
- 日時: 2010/01/06 19:33:43
- ID: 26188
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
2010/01/05(Tue) 23:59:56 編集(投稿者)
2010/01/05(Tue) 23:58:11 編集(投稿者)
【解決したい問題】
MDIアプリケーションが×(またはAlt+F4)を押しても終了しないことがあり
とても悩んでいます。
開発環境:vs2005 sp1
開発言語:c#
このお正月に、お勉強を兼ねて何かチャレンジしよう!と決めて、
---------------------------------------------------
「MDIアプリケーションを作成する」
http://dobon.net/vb/dotnet/form/mdiapplication.html
---------------------------------------------------
ここに紹介されている内容がとても分かりやすいので、
まずは見よう見まねで、MDIアプリを作ってみました。
↓
ビルドしたあとで、いろいろと動かしていると、
あれ?終了できなくなっちゃった・・・。
なんでだろう・・・。と、いろいろ調べてみました。
↓
ある操作をしたときだけ、なぜか、×(またはAlt+F4)を押しても
アプリケーションが終了できなくなってしまうことが分かり、
原因の特定と解決もできず悩みこんでしまいました。
過去に、同じような内容で投稿がないのかを
過去ログキーワード検索したのですが、見つけられず
ここに新規スレッドを作ってみました。
ある操作は、下記の手順のときに確実に起きてしまうようです。
(手順2と手順3が入れ替わると起きないようです)
どなたか、アドバイスをいただけるととても嬉しいです。
【特定の操作(最短手順)】
1.子フォームを新規作成(連続して2個作成)する
親フォームの上部にMenuStripコントロールを配置して、
「ファイル(&F)」→「新規作成(&N)」のメニューを用意し、
新規作成クリックで子フォーム作成するようにしてます。
--------------------------------
ChildForm frm = new ChildForm();
frm.MdiParent = this;
frm.Show();
--------------------------------
2.2個目に開いた子フォームを「_」アイコンを押して最小化する
3.1個目に開いた子フォームを「_」アイコンを押して最小化する
4.すべて閉じる
親フォームの上部に配置済みのMenuStripコントロールで、
「ウィンドウ(&W)」→「すべて閉じる(&X)」のメニューを用意し、
すべて閉じるクリックで子フォームすべて閉じるようにしてます。
--------------------------------
foreach (ChildForm frm in this.MdiChildren)
{
frm.Close();
}
--------------------------------
5.親フォーム「×」アイコンを押して終了(したいけど、終了できない)
※タスクマネージャーでプロセスを強制終了しました。
なにとぞ、よろしくお願いします。