- 締切済み
フォームのZOrder?
VB2008でWindwosフォームからボタンを押して、 別のWindowsフォームを開き、そのフォームをクリックすると閉じて、元のフォームに行くプログラムで、 別のフォームを開いた後に、何か別のアプリを全面に持ってきて、同じようにフォームをクリックして、元のフォームが全面にでるかと思えば、別のアプリの下に隠れていました。 Form1.show() ボタンClickイベント Form2.show() 別のアプリを前に Form2 フォームClickイベント Form1.Show() <----- 読んでいるのに Me.close() <----- ここがいけない? From1が全面に来ず、別のアプリが上になる。 何か方法がまずいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
1: Form1を表示 [背面](Form1)[前面] 2: Form2を表示 [背面](Form1)(Form2)[前面] 3: 別のアプリを表示 [背面](Form1)(Form2)(Other)[前面] 4: Form2を前面に [背面](Form1)(Other)(Form2)[前面] 5: Form2を閉じる [背面](Form1)(Other)[前面] このようになるので、Form1がOtherの後ろに隠れるのは正しい動作です。 Show() は、フォームを表示するだけなので前後の移動はありません。 前面に移動するには BringToFront() を使用します。 Form2 フォームClickイベント ' Form1.Show() Form1.BringToFront() Me.close() とすれば大丈夫だと思います。