0

既存のウィンドウで新しいフォームを開きたい。メニューと顧客の2つのフォームがあります。

private void CustomersView_Click(object sender, EventArgs e)
{
        Customers form_customers = new Customers();
        form_customers.ShowDialog(this);
}

このコードを使用して新しいフォームを開く場合、既存のウィンドウで新しいフォームを開くことはできますか?

挨拶、ヘンク-Jan Leusink

4

2 に答える 2

1

デフォルトでは、いいえ。各Formサブクラス インスタンスは、実際の Win32 トップレベル ウィンドウを表すことを意図しています。

別のコントロール セットを既存のウィンドウにロードする場合は、UserControls を使用する必要があります。VS で新しい UserControl を作成し、コントロールをcustomersフォーム クラスから新しい UserControl にコピーまたは移動します。UserControl をメイン フォームのデザイナーに追加しますが、その可視性を非表示に設定します。表示したい場合は、表示設定を変更するだけです。

于 2012-09-26T07:03:46.337 に答える
0

MDIフォームが必要な場合がありIsMdiContainerます。メイン ウィンドウのプロパティを設定trueし、次のコードのように使用してみてください。

// This is a method on the MDI parent (IsMdiContainer = true)
private void Button1_Click(object sender, EventArgs e)
{
    var myForm = new MyForm();
    myForm.MdiParent = this;
    myForm.Show();
}
于 2012-09-26T07:46:49.813 に答える