2012-04-12 9 views
1

私は再利用可能なUserControlを開発していますが、これは他の機能の中でもフルスクリーンモードを提供する必要があります。UserControlをフルスクリーンにする

しかし、これを達成するにはどうすればよいですか?

通常、コンテナフォームはUserControlではなく最大化する必要があります。

UserControlを強制的に一時的に画面全体に表示する方法はありますか?

これは通常行うべきことではないことを理解していますが、このようにする理由があります。

答えて

3

一時的にコントロールを新しいボーダレスフォームに移動し、そのフォームをフルスクリーンにします。

+0

一般的に、これは適切な解決策である可能性がありますが、私の場合はほとんど受け入れられない特定のものの再初期化が必要です。私はWindows API経由で実際のUserControlを "フルスクリーン"できることを期待していました。たとえば、フルスクリーンモードを切り替えると、WebページでホストされているYouTubeプレーヤーのようになります。 – SharpAffair

2

usercontrol内から一時画面を作成してフルスクリーンを表示することができます。

+0

+1、現在のコンテナを変更しないでください。新しいコンテナを作成してください。 – Servy

3

コントロールをコンテナから削除して再利用できるようにし、フルスクリーンの枠線のないフォームを作成する必要があります。

private void OnGoFullScreenMode() 
{ 
    this.Controls.Remove(goLiveControl); 
    this.ShowFullScreen(goLiveControl); 
} 

private void ShowFullScreen(UserControl userControl) 
{ 
    Form fullScreenForm = new Form(); 
    fullScreenForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
    fullScreenForm.WindowState = FormWindowState.Maximized; 
    fullScreenForm.ShowInTaskbar = false; 
    userControl.Dock = DockStyle.Fill; 
    fullScreenForm.Controls.Add(userControl);    
    fullScreenForm.Show(); 
} 
関連する問題