- PR -

フォームの閉じ方

投稿者投稿内容
シルバ
会議室デビュー日: 2006/09/22
投稿数: 19
投稿日時: 2007-01-16 18:08
やはりダイアログからフォームを閉じるのはおかしいんですね。
何か他の方法を考えたいと思います。
ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-01-16 21:43
引用:

シルバさんの書き込み(2007-01-16 11:51)より:
Me.Visible = False
FORM2.ShowDialog(Me)
Me.Visible = True
FORM2.Dispose() '後始末


あ〜ぁ。。。
http://blogs.wankuma.com/jitta/archive/0001/01/01/46516.aspx
 ここで話題にしたような問題がある。

http://blogs.wankuma.com/jeanne/archive/2006/10/26/42540.aspx
 こんな感じで、使用できないようにしておくべき
(開発者なら、べき、です。)

http://blogs.wankuma.com/jitta/archive/2007/01/12/55937.aspx
http://blogs.wankuma.com/jitta/articles/54305.aspx
 ご参考程度に。

_________________
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-01-16 22:07
引用:

Jittaさんの書き込み (2007-01-16 21:43) より:

http://blogs.wankuma.com/jeanne/archive/2006/10/26/42540.aspx
 こんな感じで、使用できないようにしておくべき
(開発者なら、べき、です。)


'FORM2' が、型そのもの (既定のインスタンス) であるとは、書いてなさそうですが...

それにしても、型にしてもインスタンス変数にしても、名前が全部大文字であることに違和感を感じますね。
何だか、Pro COBOL やりたくなってきました。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-01-16 23:54
引用:

じゃんぬねっとさんの書き込み (2007-01-16 22:07) より:

'FORM2' が、型そのもの (既定のインスタンス) であるとは、書いてなさそうですが...


あ。。。全部大文字というのに、気がついてなかった。
_________________
シルバ
会議室デビュー日: 2006/09/22
投稿数: 19
投稿日時: 2007-01-18 16:00
FORM1からFORM2を開き、(更にFORM2からFORM3を開く)
@FORM2のキャンセルボタンを押したらFORM1に戻る(FORM3の場合はFORM2に戻る)
Aウィンドウの×ボタンが押されるとプログラムを終了
というプログラムを作りたかったのですがどういう作り方がいいのでしょうか?

違うスレッドをたてようかと思いましたが、また同じ様な質問をするとややこしくなりそうなので止めました。

ダッチ
大ベテラン
会議室デビュー日: 2005/10/31
投稿数: 113
投稿日時: 2007-01-18 17:53
こういう動きをするものは作らないのがいいと思います。

シルバさんが考えているウィンドウの×ボタンというのはどういう意味で使用されるものだと思っているのでしょうか。
FORM3 の×ボタンを選択されたらどういう風になるのでしょうか。
ユーザさんが動きの違いに戸惑ってしまうと思いませんか。
なぜ、このような仕様なのかがとても気になります。

それはそれとしてやるとした場合ですが、
FORM2 と FORM3 はモーダル表示されるということを前提にして進めます。

FORM2 のキャンセルボタンを選択したときに、独自のキャンセル状態を設定しておきます。FORM1 は FORM2 が×ボタンでキャンセルされたのか、キャンセルボタンでキャンセルされたのかを判断できるようにすればいいと思います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-01-18 18:00
引用:

ダッチさんの書き込み (2007-01-18 17:53) より:

こういう動きをするものは作らないのがいいと思います。


同意です。
呼び出し先のウィンドウを閉じた時に、勝手に呼び出し元まで閉じられたら気持ち悪いですね。

このような要件の場合は、MDI アプリケーションで作るべきです。
MDI 親フォームの [x] 閉じるボタンであれば、何ら違和感はありません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
シルバ
会議室デビュー日: 2006/09/22
投稿数: 19
投稿日時: 2007-01-18 18:54
どのフォームの[×]ボタンを押してもプログラムを終了するようにしたいんです。
一応[×]ボタンを押したら終了を聞くメッセージボックスを出しています。

子フォームから更に子フォームを呼び出して…という作り方なので、順番にフォームのキャンセルを押していってもなかなか終了できないから、一気に終わらせる方法は無いのかと思ったのですが…。

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