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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.92269 の関連記事表示

<< 0 >>
■92269  Re[4]: MDI子ウインドウを最前面にする方法
□投稿者/ 魔界の仮面弁士 -(2019/09/06(Fri) 14:00:08)
    No92266 (とっちゃん さん) に返信
    >>ActivateMdiChildを試してみましたがうまくいきませんでした。
    > ActivateMdiChild() メソッドがうまくいかないとすると、アクティブにしたい Mdi子フォームの、
    > Activate() メソッドを呼び出す形でもうまくいかない気がします。

    下記で試した限りでは、Activate の方が良いみたいです。
    ActivateMdiChild だと、フォーカス遷移が期待動作しないことがあるようで。


    'コントロールを何も貼ってない空の Form1
    Partial Public Class Form1
      Inherits Form
      Private Child1, Child2, Child3 As Form
      Private WithEvents Button1, Button2 As Button
      Public Sub New()
        ' InitializeComponent() '←今回は実験コードなので、デザイナコードの有無はあまり関係ない

        'アクティブ化させるためのボタンを配置
        Dim pnl As New Panel() With {.Dock = DockStyle.Top}
        Button1 = New Button() With {.Text = "1", .Dock = DockStyle.Left}
        Button2 = New Button() With {.Text = "2", .Dock = DockStyle.Left}
        pnl.Controls.Add(Button2)
        pnl.Controls.Add(Button1)
        Controls.Add(pnl)

        'MDI の準備
        Me.IsMdiContainer = True
        Child1 = New Form() With {.MdiParent = Me, .Text = "Child1"}
        Child2 = New Form() With {.MdiParent = Me, .Text = "Child2"}
        Child3 = New Form() With {.MdiParent = Me, .Text = "Child3"}

        'MDI 子フォームを表示
        Child1.Show()
        Child2.Show()
        Child3.Show()
      End Sub

      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' ActivateMdiChild(Child1)
        Child1.Activate()
      End Sub

      Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'ActivateMdiChild(Child2)
        Child2.Activate()
      End Sub
    End Class
記事No.92263 のレス /過去ログ159より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -