2012-01-09 9 views
1

WPFプラットフォームに埋め込まれたページクラスとナビゲーション機能があります。私はWindowフォームアプリケーションを開発しており、同様の機能が必要です。さまざまなフォーム間のナビゲーションをエミュレートする簡単でスムーズな方法は何ですか?あるいは、フォームと容器が内部にあるはずですか?どのようにナビゲート機能を実現できますか?Winformsのページ間の移動のエミュレート

答えて

1

パネルを作成し、DockからFillまでを作成します。

次に、BringToFrontパネル。

必要な「フォーム」ごとにこれを行います。

EDIT:

public Form1() 
{ 
    InitializeComponent(); 
    Shown += Form1_Shown; 
    panel1.Dock = DockStyle.Fill; 
    panel2.Dock = DockStyle.Fill; 
} 

void Form1_Shown(object sender, EventArgs e) 
{ 
    panel1.BringToFront(); 
    Update(); 
    Thread.Sleep(3000); 
    panel2.BringToFront(); 
    Update(); 
    Thread.Sleep(3000); 
    panel1.BringToFront(); 
} 

EDITを:コメントによるUpdate();年代を追加しました。これは期待通りに動作します。

+0

ありがとうございました。しかし、BringToFrontは機能しませんでした。私はパネルのVisibleプロパティを使用しました。 – Peter17

+0

@ Peter17 'Visible'は問題ありません。しかし、私は 'BringToFront'がうまくいかなかったことに驚いています。私は自分の答えに作用するコードを追加しました。 – ispiro

+0

UIスレッドでスリープ(3000)を呼び出すと、タイトルバーに「応答していません」というメッセージが表示されてゴーストウィンドウが表示されます。あなたが実際にパネル2が前面に来るのを実際に見るのを防ぎます。これはひどく悪い例です。 –

関連する問題