掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MDI子フォームを最前面にするには? (ID:123507)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ウーン、仕様なのかバグなのか。。。。 試しにAPIを使って、f2をTopMostに設定しようとしたが、だめだった。(^^; Public Class Form1 Inherits System.Windows.Forms.Form Declare Function SetWindowPos Lib "user32" _ (ByVal hWnd As IntPtr, ByVal hWndInsertAfter As Integer, _ ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, _ ByVal cy As Integer, ByVal wFlags As Integer) As Integer Private Const SWP_NOSIZE As Long = &H1 ' サイズを変更しない Private Const SWP_NOMOVE As Long = &H2 ' 位置を変更しない Dim f2 As New Form2 Dim f3 As New Form3 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load f2.MdiParent = Me f3.MdiParent = Me f2.Show() f3.Show() SetWindowPos(f2.Handle, -1, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE) End Sub End Class 2番目の引数に0を入れると、その時はトップに表示されるのでコードは正しいと思われるのだが。。。。 タイマーを使ってf2.Activate()などとするか、他のフォームがアクティブになったら、 f2.Activate()を実行するか、そんな手しか。。。。orz
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.