永不言弃!
不忘初心:感恩的心!上进的心!

场景描述

父窗体:UserLogin

子窗体:UserCard

当子窗体打开时,父窗体隐藏;当子窗体关闭时,父窗体也一起关闭。

 

 

第一:子窗体重写构造函数并传递父窗体

重点:重写的构造函数中一定要添加代码:  InitializeComponent();

/// <summary>
    /// UserCard.xaml 的交互逻辑
    /// </summary>
    public partial class UserCard : Window
    {
        public UserCard()
        {
            InitializeComponent();
        }

        UserLogin _userLogin;   //父窗体
        public UserCard(UserLogin userLogin)
        {
            this._userLogin = userLogin;
            InitializeComponent();
} }

 

第二:父窗体中打开子窗体,父窗体隐藏

//打开子窗体
UserCard userCard = new UserCard(this);
userCard.Show();

//隐藏自己(父窗体)
this.Visibility = Visibility.Hidden;

 

第三:子窗体中添加关闭父窗体的代码

        private void Window_Closed(object sender, EventArgs e)
        { 
            //关闭父窗体
            this._userLogin.Close();
        }

 

到此,也解决相关错误:无法将文件“*.exe'复制到'*.exe',文件“*.exe”正由另一进程使用。

因为当子窗体关闭时,若父窗体隐藏了而未关闭,再次打开时便会报相关错误。

 

 

本文引自:https://www.cnblogs.com/chz1992/p/4082386.html

posted on 2022-03-02 14:46  永不言弃!  阅读(514)  评论(0编辑  收藏  举报