VB6のとき、複数のフォームを使った場合、
任意のフォームから、任意のフォームを
Showしたり、Unloadしたりできました。
VB2002、3では、Form1からForm2をShowした場合、
Form2をCloseできるのは、Form1かForm2のみで、
Form3があってもそれからはForm2をCloseや
Showできませんでした。
ところが、VB2005では、また、どのフォーム
からでも、任意のフォームを出したり、消したり
できるようになったみたいなのですが、それは
どういう意味があるのでしょうか?
VB6からVB2002,3への変更は何かを良くしようと
思ってやったと推察するのですが、それを元に
戻したのは、なぜだろうかと疑問に思えました。
それとも、一見VB6とVB2005は、同じ仕様に
見えるけれども、初心者でわからないような
もっと高度な機能になっているのでしょうか?
> VB2005では、また、どのフォームからでも、任意のフォームを
> 出したり、消したりできるようになったみたいなのですが、
初期設定がそうなっているだけです。
VB2005 でも、プロジェクトのプロパティにある[アプリケーション]タブの
『アプリケーション フレームワークを有効にする』のチェックを外すか、
または [シャットダウン モード] を「最後のフォームが閉じるとき」から
「スタートアップ フォームが閉じるとき」に変更すれば、2002 と同様の動きになります。
また、2002 / 2003 であっても、ApplicationContext を実装してやれば、
VB6 同様、最後のフォームが閉じるときまで有効な形にすることもできます。
このあたりは過去ログに、具体的なサンプルがありますよ。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200602/06020024.txt
> それはどういう意味があるのでしょうか?
ユーザの声を反映した結果ということでしょう。
魔界の仮面弁士様、ご回答、大変ありがとうございました。
最初メニュー画面からスタートして、処理ごとに画面を分け、
ユーザーの作業により、どのフォームからどのフォームにも
移れるようなソフトを作るとき、任意のフォームから任意の
フォームを出したり、消したりできると便利です。
2002などでもそのような事ができたり、2005を2002と同じに
するからくりなど、大変勉強になりました。
また、わかりやすい(でも私のレベルでは少し勉強が要ります)
例もお示しいただき、上のからくりと一緒に後刻確認したいと
思います。
これからもよろしくお願いいたします。
ツイート | ![]() |