2005のマルチフォーム

解決


garakuta  2007-05-24 12:07:36  No: 136490

VB6のとき、複数のフォームを使った場合、
任意のフォームから、任意のフォームを
Showしたり、Unloadしたりできました。
  VB2002、3では、Form1からForm2をShowした場合、
Form2をCloseできるのは、Form1かForm2のみで、
Form3があってもそれからはForm2をCloseや
Showできませんでした。
  ところが、VB2005では、また、どのフォーム
からでも、任意のフォームを出したり、消したり
できるようになったみたいなのですが、それは
どういう意味があるのでしょうか?
  VB6からVB2002,3への変更は何かを良くしようと
思ってやったと推察するのですが、それを元に
戻したのは、なぜだろうかと疑問に思えました。
  それとも、一見VB6とVB2005は、同じ仕様に
見えるけれども、初心者でわからないような
もっと高度な機能になっているのでしょうか?


魔界の仮面弁士  2007-05-24 19:21:35  No: 136491

> VB2005では、また、どのフォームからでも、任意のフォームを
> 出したり、消したりできるようになったみたいなのですが、
初期設定がそうなっているだけです。

VB2005 でも、プロジェクトのプロパティにある[アプリケーション]タブの
『アプリケーション フレームワークを有効にする』のチェックを外すか、
または [シャットダウン モード] を「最後のフォームが閉じるとき」から
「スタートアップ フォームが閉じるとき」に変更すれば、2002 と同様の動きになります。

また、2002 / 2003 であっても、ApplicationContext を実装してやれば、
VB6 同様、最後のフォームが閉じるときまで有効な形にすることもできます。
このあたりは過去ログに、具体的なサンプルがありますよ。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200602/06020024.txt

> それはどういう意味があるのでしょうか?
ユーザの声を反映した結果ということでしょう。


garakuta  2007-05-24 20:06:02  No: 136492

魔界の仮面弁士様、ご回答、大変ありがとうございました。

  最初メニュー画面からスタートして、処理ごとに画面を分け、
ユーザーの作業により、どのフォームからどのフォームにも
移れるようなソフトを作るとき、任意のフォームから任意の
フォームを出したり、消したりできると便利です。

  2002などでもそのような事ができたり、2005を2002と同じに
するからくりなど、大変勉強になりました。

  また、わかりやすい(でも私のレベルでは少し勉強が要ります)
例もお示しいただき、上のからくりと一緒に後刻確認したいと
思います。

  これからもよろしくお願いいたします。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加