C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

複数フォームで他のフォームを最前面にするには

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■91145 / inTopicNo.1)  複数フォームで他のフォームを最前面にするには
  
□投稿者/ いけいけ (1回)-(2019/06/03(Mon) 17:13:19)

分類:[.NET 全般] 

複数フォームをもったフォームアプリケーションを作成しているのですが、
フォームが他のウインドウの下に隠れてしまった場合には
マウスでフォームをクリックする必要がありますが、
複数フォームある場合、一つずつフォームをクリックしないと全てのフォームを最前面にすることができず
不便です。

それで、

    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

        Select Case e.Button
            Case Windows.Forms.MouseButtons.Left

                If Form2.Visible = True Then

                     Form2.Activate()

                End If

        End Select

    End Sub

のようにして、マウスをクリックした時に
他のフォームがアクティブになるように設定してみました。

確かにこの方法だと他のフォームをアクティブにすることはできるのですが、
ボタンを押した時に、そのボタンのプログラムが実行できないという弊害が出てしまい
使えません。

どうすれば良いでしょうか?





引用返信 編集キー/
■91146 / inTopicNo.2)  Re[1]: 複数フォームで他のフォームを最前面にするには
□投稿者/ Hongliang (813回)-(2019/06/03(Mon) 17:25:58)
Ownerを設定するというのはどうでしょうか?
Form2のOwnerにForm1を設定した場合、Form1、Form2いずれをアクティブにしたときももう片方も前面に出てきます。
ただ、Form2が常にForm1の前面に存在するようになるという副作用(というかこれが主作用)があるので、要件に合うかどうかは分かりませんが。
引用返信 編集キー/
■91147 / inTopicNo.3)  Re[2]: 複数フォームで他のフォームを最前面にするには
□投稿者/ いけいけ (2回)-(2019/06/03(Mon) 17:48:51)
これでした!!!
ありがとうございます。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ