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

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

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

Re[2]: 親フォームを子フォームの前面に表示出来るのでしょうか


(過去ログ 90 を表示中)

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

■54099 / inTopicNo.1)  親フォームを子フォームの前面に表示出来るのでしょうか
  
□投稿者/ える (3回)-(2010/10/05(Tue) 10:10:08)

分類:[VB.NET/VB2005 以降] 

お世話になっております。

FormTest01、FormTest02とあり、FormTest01からFormTest02を呼び出したとします。
起動はモードレス、FormTest01を親としてFormTest02を従属させます。
この状態でFormTest01をFormTest02より前面に表示することは可能なのでしょうか。
※不可能なら不可能という結論が欲しいです。

ご存知のプロパティ・メソッド等ありましたらご教示頂けたら幸いです。
よろしくお願いします。

以下、簡単なソースですが記述します。
※FormTest02は存在しますが何も実装していません。

Public Class FormTest01

'ロード処理
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
'初期処理
Me._initialize()
MyBase.OnLoad(e)
End Sub

'イニシャライズ
Private Sub _initialize()
Dim form As New FormTest02
form.Owner = Me
form.Show()
End Sub

End Class

引用返信 編集キー/
■54103 / inTopicNo.2)  Re[1]: 親フォームを子フォームの前面に表示出来るのでしょうか
□投稿者/ Hongliang (729回)-(2010/10/05(Tue) 10:43:29)
> form.Owner = Me
コレを逆にしてやれば可能ですが。
引用返信 編集キー/
■54104 / inTopicNo.3)  Re[1]: 親フォームを子フォームの前面に表示出来るのでしょうか
□投稿者/ 魔界の仮面弁士 (1851回)-(2010/10/05(Tue) 10:52:31)
No54099 (える さん) に返信
> FormTest01、FormTest02とあり、FormTest01からFormTest02を呼び出したとします。
> 起動はモードレス、FormTest01を親としてFormTest02を従属させます。
> この状態でFormTest01をFormTest02より前面に表示することは可能なのでしょうか。

無理だと思います。


Public Class FormTest01
    Private WithEvents child As FormTest02

    'これなら親を前にできる。ただし、親が手前にある間は親子関係が解除されている。
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        child = New FormTest02()
        child.Show(Me)
    End Sub
    Private Sub child3_Activated(ByVal sender As Object, ByVal e As EventArgs) Handles child.Activated
        child.Owner = Me
    End Sub
    Private Sub child3_Deactivate(ByVal sender As Object, ByVal e As EventArgs) Handles child.Deactivate
        child.Owner = Nothing
    End Sub
End Class


Public Class FormTest02
    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
        '親確認用
        Me.Text = TypeName(Me.Owner)
    End Sub
End Class

引用返信 編集キー/
■54106 / inTopicNo.4)  Re[2]: 親フォームを子フォームの前面に表示出来るのでしょうか
□投稿者/ える (4回)-(2010/10/05(Tue) 11:09:52)
Hongliang様
魔界の仮面弁士様

お忙しい中ご回答ありがとうございます。大変参考になりました。
Ownerプロパティは便利だったのでうまく利用できたら嬉しかったのですが。

インタフェース上両画面とも前面に表示する必要がある場合は親子関係を
持たない方が良いみたいですね。
フォームを取得するだけならApplication.OpenFormsでも出来ますし。

お陰様で結論が出ました。改めて、どうもありがとうございました。

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


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -