• 締切済み

フォームのZOrder?

VB2008でWindwosフォームからボタンを押して、 別のWindowsフォームを開き、そのフォームをクリックすると閉じて、元のフォームに行くプログラムで、 別のフォームを開いた後に、何か別のアプリを全面に持ってきて、同じようにフォームをクリックして、元のフォームが全面にでるかと思えば、別のアプリの下に隠れていました。 Form1.show() ボタンClickイベント     Form2.show() 別のアプリを前に Form2 フォームClickイベント Form1.Show()   <----- 読んでいるのに Me.close() <----- ここがいけない? From1が全面に来ず、別のアプリが上になる。 何か方法がまずいのでしょうか?

みんなの回答

回答No.1

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() とすれば大丈夫だと思います。

関連するQ&A

専門家に質問してみよう