0

次のタスクがあります。

手順 :

ボタンをクリックするとフォームAがフォームBを開く

期待される :

フォーム B が開始され、フォーム A が閉じます。

結果 :

フォーム B は開始しますが、フォーム A はバックグラウンドのままです。

Form A の参照を Form B に渡すことで問題を解決しようとしましたが、奇妙なことにうまくいきません。

Form A :( MainWindow)

 AdminWindow window = new AdminWindow();
 window.setCreatingForm = this;
 window.Show();

Form B(AdminWindow)

public Window setCreatingForm
{
    get { return creatingForm; }
    set { creatingForm = value; }
}

public Window creatingForm { get; set; }

private void logOutClick(object sender, RoutedEventArgs e)
{
    if (creatingForm != null)
        creatingForm.Close(); `// Why does this not close the background Form` 
    MainWindow window = new MainWindow();
    window.Show();
}
4

2 に答える 2

1

親フォームの visible プロパティを false に設定します。

        public Form1()
        {
            InitializeComponent();          
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var form = new Form2();
            form.Show();
            this.Visible = false;
        }
于 2013-05-28T07:21:00.853 に答える