- PR -

画面の表示切替え

投稿者投稿内容
会議室デビュー日: 2005/09/06
投稿数: 2
投稿日時: 2006-05-18 19:51
VB.NETで開発しています。
1つのソリューション内にForm1、Form2、Form3があります。
Form1を生成し表示した後、Form2、Form3を生成して、
Form1のボタンでForm2、Form3の表示切替を
行いたいです。
表示切替を行う時、それぞれのFromは削除せず、
表示・非表示で切り換えたいのですが、
何か良い方法はあるでしょうか?
(最初に実行した時はForm1がActiveな状態。)
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-05-18 21:10
楓さん、こんばんは。

以下、ものすごく単純な例です。

コード:
Public Class Form1
    Private F2 As Form2
    Private F3 As Form3

    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        F2 = New Form2
        F3 = New Form3
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
        F2.Visible = Not F2.Visible
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
        F3.Visible = Not F3.Visible
    End Sub
End Class



Form2、Form3 を × ボタンなどでユーザに閉じられないようにするためには、ControlBox プロパティを False にしたり、また、VB2005 であれば FormClosing イベントを捕まえて、イベントをキャンセルしたりします。
深山
ベテラン
会議室デビュー日: 2006/05/09
投稿数: 66
お住まい・勤務地: 都内某所
投稿日時: 2006-05-18 21:18
はじめまして、深山です。

C#で書かれていますが、基本的なFormの操作などは、ここを参照しては?


[ メッセージ編集済み 編集者: 深山 編集日時 2006-05-18 21:27 ]
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-05-18 21:33
引用:

深山さんの書き込み (2006-05-18 21:18) より:
C#で書かれていますが、基本的なFormの操作などは、ここを参照しては?


いや、それよりも真っ先に、手元にあるドキュメント = MSDN ライブラリ を参照しましょう。
深山
ベテラン
会議室デビュー日: 2006/05/09
投稿数: 66
お住まい・勤務地: 都内某所
投稿日時: 2006-05-18 22:04
引用:

きくちゃんさんの書き込み (2006-05-18 21:33) より:
引用:

深山さんの書き込み (2006-05-18 21:18) より:
C#で書かれていますが、基本的なFormの操作などは、ここを参照しては?


いや、それよりも真っ先に、手元にあるドキュメント = MSDN ライブラリ を参照しましょう。




確かにその通りですね!
ドキュメントは一番?参考になりますから
自分にも言えることですが、ドキュメントで調べる癖をつけないといけませんね(^^;

[ メッセージ編集済み 編集者: 深山 編集日時 2006-05-18 22:07 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-18 23:07
インストーラのような画面遷移を所望しているのであれば、Form 単位で行うのは上策とは言えません。
この場合は、UserControl をひとつの画面と同じ単位として扱うのが上策です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-05-19 00:24
親は誰なんでしょうか
Form1 が親になるなら きくちゃん さんの記述で良いと思いますが
Form1, Form2, Form3 が兄弟(同列)なら
さらにみんなの親を作る必要がありますよね
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-19 16:16
僕は、パネルを画面分作って優先順位を切り替えるのが好きです。

フォームを複数使う場合なら、次々とフォームを開いて自分の表示を単に消せば良いん
ですよね?
消し方がわからないんですか?

スキルアップ/キャリアアップ(JOB@IT)