hardtoking
hardtoking
采纳率31.4%
2017-02-08 06:14

WPF中如何实现一个窗体控制另一个窗体

50
已采纳

创建了一个主窗体mainwindow和一个新窗体newwindow
mainwindow和newwindow中各有一个open按钮
当点击mainwindow中的按钮时,隐藏mainwindow,并打开newwindow
当点击newwindow中的按钮时,关闭newwindow,并显示mainwindow

这个要怎么做呢,求大神帮忙解答

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • crj8902 草昌 4年前

    如果只有两个 可以通过Application.Current.MainWindow拿到主窗口对象
    主窗口Open中 隐藏MainWindow 创建NewWindow并显示
    子窗口Open中 关闭NewWindow 显示MainWindow

    点赞 3 评论 复制链接分享
  • Kang_xiong 派大星不吃鱼 4年前

    你是想在点第二个窗体(Form2)的按钮时显示第一个隐藏的窗体(Form2)吧。
    首先Form1上点击按钮显示Form2,隐藏自己是很容易的,
    Q:其次在Form2上点击按钮,可以关闭Form2但如何显示隐藏的Form1呢?
    S:Form1上写一个让Form1显示的方法,在Form2上写一个事件,该事件和Form1中的方法绑定起来。
    当点击Form2中的按钮时将会触发事件,即执行Form1中的方法。试试吧

    Form1代码:

     namespace 窗体测试
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                f2.Show();
                this.Visible = false;
                //Form2中的事件和Form1绑定起来
                f2.form1ShowEvent += form1Show;
            }
            //Form1中的一个方法
            private void form1Show() {
                this.Visible=true;
            }
        }
    }
    

    Form2代码:

     namespace 窗体测试
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.Close();
                form1ShowEvent();
    
            }
            public event Action form1ShowEvent;
        }
    }
    
    
    点赞 1 评论 复制链接分享
  • qq_29878627 西南交一枝花 4年前

    你在open按钮写一个点击事件嘛 做的工作是:隐藏本窗口打开新窗口
    同样在close按钮一样处理

    点赞 评论 复制链接分享

相关推荐