- - PR -
VB.NET フォーム開く、閉じる
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-20 23:46
一度別スレッドに作ってしまい、スレ違いと言われましたので、作成しなおしました。
元スレッド ↓ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28542&forum=6&2 お疲れ様です、kamiです。 VB.NETを勉強し始めて、いきなり壁にぶつかっております。 よろしければ、ご教授下さい。 やりたい事:別フォームを開いて、自フォームを閉じる。 認証フォームで、認証が成功した場合、メインメニューフォームを開く。 この際に、認証フォームを閉じる処理を入れようと思いました。 まず最初に、 スタートアップの場所を、Login(認証)フォームにしました。 認証を通ると、 '入力されたユーザ名と、パスワードが一致すれば '認証フォームを閉じて、メインメニューを開く ' MainMenu の新しいインスタンスを生成する Dim MainMenu As New Form ' MainMenu を表示する MainMenu.Show() Me.Close() これを認証で行うと、メインメニューのフォームを開いて、プログラムが終了します。 で、サクット調べてフォームを持たない、標準モジュールにスタートアップのSub Mainからプログラムを始めて、モジュールから認証を開いて・・・とやったのですが、結果が同じでして、、、はまっております。 .NET系自体はじめてでして、よろしければご教授下さい。 また、VB.NETをやり始めるについて参考となる書籍などがありましたら、ご紹介いただければと思います。 今は、じゃんぬねっとさんのHPを頼りにやっております(^^; P.S. 会社から@itを閲覧することはできるのですが、書き込みが拒否されるため返信が遅くリなした。 しゅう様、返信ありがとうございます。 引用:--------------------------------------------- すれ違いの様ですが一応コメントを・・・。 MainMenuオブジェクトを宣言(保持)しているフォーム自体を閉じているため、そのインスタンスが消滅しているのでは? 回避策としては・・・Hideなどで非表示にしたりMainMenuの宣言をこのフォーム以外で行ったり・・・。 --------------------------------------------------- 上記の事、納得しました。 アドバイスありがとうございます。 で、ふと思ったのですが、プログラムの構造として、一般的(?)にはどこで宣言する物なのでしょうか? Sub Mainを宣言している標準モジュールなどで行うべきなのでしょうか? よろしければ、アドバイスお願い致します。 | ||||||||||||
|
投稿日時: 2006-02-21 00:29
起動時に認証したいと言うことなら、その方が実装は楽だと思うよ。認証用のフォームをモーダル表示して、待っていれば済みますから。 | ||||||||||||
|
投稿日時: 2006-02-21 09:56
しゅうさんも間違えていますが、スレ違いではなく板違い (会議室違い) だと思います。 スレ違いというのは、そのスレッドに関係のない話題をした場合に言われる言葉です。 板違いというのは、その会議室に関係のないスレッドを建てた場合に言われる言葉です。
Application.Run されたフォームである以上は回避不可能です。 ApplicationContext クラスについて調べてみてください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1