2016-05-24 10 views
0

を表示し、ユーザーコントロール。
私はform1から分離usercontrolを見たいと思って、ユーザーがusercontrolを閉じたい場合は、彼が画面にusercontrolそれを閉じ、from1を保つことができる、またはユーザーが必要な場合のはform1を最小限にし、維持します。C#が、私はそれにいくつかのものと1つのユーザーコントロールを作成している、と私はそれが1 <code>button</code>で私<code>form1</code>クリックで可能だと<code>button</code><code>form1</code>内の私の<code>usercontrol</code>を開くことはありませんということかどうかを知る必要があり

私はこの

     UC lauchUC = new UC(person); 
         lauchUC.Show(); 

でテストしているが、それはこれでテストも何も表示されない、としていない

:誰かが助けることができる

     UC lauchUC = new UC(person); 
         this.Controls.Add(lauchUC); 

が、それはフォーム

に表示されます。私はそれがフォームから分離していることが可能かどうかを教えてくれますか?

+1

'フォームのコンストラクタに' UserControl'のインスタンスを渡すことができます。このコンストラクタで、それを 'Controls'に追加することができます。新しい 'Form'を作成し、そのコンストラクタを変更してください。 –

答えて

1

あなたUserControlFormのコンストラクタのインスタンスを渡すことができます。このコンストラクタでは、コントロールにコントロールを追加できます。新しいFormを作成し、そのコンストラクタを変更してください。

(コンテナ)フォーム:それを開く方法

public partial class Form1 : Form 
{ 
    public Form1(UserControl control) 
    { 
     InitializeComponent(); 
     this.Controls.Add(control); 
    } 
} 

public void ButtonClick(object sender, EventArgs e) 
{ 
    var myControl = new MyUserControl(); 
    var form = new Form1(myControl); 
    form.Show(); 
} 
1

ウィンドウに配置し、Window.ShowDialogを呼び出すことができます。

private void Button1_Click(object sender, EventArgs e) 
    { 
     Window window = new Window 
     { 
      Title = "My User Control Dialog", 
      Content = new UC(person) 
     }; 

     window.ShowDialog(); 
    } 
関連する問題

 関連する問題