Form1をHideで非表示にし、Form2を開いた後、再びForm1を表示したいのですがうまくいきません。
[form1のイベント]
Dim frmForm2 as New Form2
frmForm2.Show
Me.hide
Sub End
[form2のイベント]
Dim frmForm1 as New Form1
frmForm1.Show
Me.Close
Sub End
としてあります。
非表示されたフォームを再表示されずに、新しくフォームが開いてしまっていると考えられるんですが、どうしたらよいでしょうか?
No.1ベストアンサー
- 回答日時:
form2で行っている,
Dim frmForm1 as New Form1
の行の意味は
frmForm1と言う、「新しい」Form1クラスのインスタンスを発行する、と言う意味です。
だから新しいFormが開いてしまうのです。
一番簡単に基のFormを再表示したいのであれば
[Form1]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fm2 As New Form2
fm2.PreForm = Me
Me.Hide()
fm2.Show()
End Sub
[Form2]
Public PreForm As Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PreForm.Show()
Me.Close()
End Sub
ですかねえ。
他だとShowDialog()の使用も候補になるかと。
なるほど、[Form2]に予めpublic権限でPreFormを作っておき、[Form1]を実行時にMe(form1)をPreFormに入れることで、[Form2]でも再び[Form1]を呼び出すことが出来るんですね。
適切な回答ありがとうございました。先ほども助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) リストボックス セルの値を取得する 1 2022/05/21 20:47
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
CloseとDisposeの違い
Visual Basic(VBA)
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
フォームの再読み込み
Visual Basic(VBA)
-
-
4
C#で起動時のフォームを非表示にした後、Showで表示したいのですが
その他(プログラミング・Web制作)
-
5
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
6
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
7
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
8
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
9
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
10
VB2005 DataGridView上でクリックを無効にする方法はありますか?
Visual Basic(VBA)
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
13
VB.net webアプリケーション 戻る機能&画面表示方法(初心者)
Visual Basic(VBA)
-
14
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
15
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
16
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
17
VB.net でトグルボタンを実現したい
Visual Basic(VBA)
-
18
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
19
VB.NET 親フォームから子フォームのTextBoxに書き込みたい
Visual Basic(VBA)
-
20
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
【VBAユーザーフォームで閉じる...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォーム上に現在日時...
-
'ユーザーフォーム右上隅の[×...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのコピー?
-
ユーザーフォームのテキストボ...
-
MSGBOXのフォント大きさ変更
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
エクセルVBA フォーム上でOnkey...
-
ACCESSのフォーム、開くんです...
-
エクセルのフォームをマクロで...
-
Excelにて、ユーザーフォームで...
-
クリックイベントなのに、2回ク...
-
C#で起動時のフォームを非表示...
-
アクセス2013 フォームが...
-
Form_Load と Form_Activate の...
-
フォームウィンドウを最前面に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのテキストボ...
-
【VBAユーザーフォームで閉じる...
-
モーダルフォームとモードレス...
-
VBAでユーザーフォームを再表示...
-
エクセルVBAのフォームを最...
-
MSGBOXのフォント大きさ変更
-
Form_Load と Form_Activate の...
-
ユーザーフォーム上に現在日時...
-
Excelにて、ユーザーフォームで...
-
Hideについて(.NET)
-
フォームウィンドウを最前面に...
-
コントロールの存在確認
-
VBA(エクセル)のユーザー...
-
'ユーザーフォーム右上隅の[×...
-
エクセルVBA フォーム上でOnkey...
-
ブックをCloseまたはQuitで閉じ...
おすすめ情報