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

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

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

net

3个回答

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

xmoer
坑晨 厉害了,这个才是正解啊
大约 2 年之前 回复
hardtoking
hardtoking 此才为正解,简单直观,谢谢大神
2 年多之前 回复
crj8902
草昌 建议 显示MainWindow 通过NewWindow的Closed事件来实现
2 年多之前 回复

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

qq_29878627
西南交一枝花 回复hardtoking: 就在你当前这个窗口做嘛 就实例化你当前这个mainwindow 并不是再实例化一个。你的open按钮是在mainwindow上的吧 你加一个button_click事件 用来跳转到一个新的窗体,这个隐藏你可以写在新的窗体里
2 年多之前 回复
hardtoking
hardtoking 我通过实例化一个窗体来做的话,是又新建立了一个mainwindow,并不是原来的那个 当关闭程序时会发现关不掉,因为还有一个隐藏的窗体在运行
2 年多之前 回复
qq_29878627
西南交一枝花 回复hardtoking:他想实现的不就是这个功能,就是实例化一个。不过你说的第二个 我没听懂
2 年多之前 回复
hardtoking
hardtoking 如果通过这种方式,只能通过实例化一个窗口才能调用操作,要不访问不到 还一个是,通过这种方式打开的窗口,不是隐藏的那一个,而是又新创建了一个
2 年多之前 回复

你是想在点第二个窗体(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;
    }
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
一个窗体如何控制另一个窗体的开关
我才chatform窗体中设置了个全局变量rnbool chOpen = false;rnrn然后在按钮事件里,想通过改变chOpen值来控制chatHistory窗体的开关,结果是不停的按不停的打开chatHistory窗体rn ChatHistory chatHistory = new ChatHistory();rnrn [color=#99CC00]//判断聊天记录是否已经打开[/color]rn if (chOpen == false)rn rn chOpen = true;rnrn [color=#99CC00]//显示聊天窗口[/color]rn chatHistory.Show();rn rn elsern rn chOpen = false;rn [color=#99CC00]//关闭[/color]rn chatHistory.Close();rn
如何从一个窗体控制另一个窗体
同时打开A窗体和B窗体rnrn我在A窗体写一个按钮rn这样让按钮点击后 关闭B窗体?rn
一个窗体 如何控制 另一个窗体中的控件的属性
一个窗体 如何控制 另一个窗体中的控件的属性
在一个窗体中如何关闭另一个窗体?
Form1是父窗体,Form2和Form3是子窗体,Form1打开Form2和Form3,如何在Form3中关闭Form2.
在一个窗体中如何操纵另一个窗体?
在一个窗体中,要将另一个已经最小化的窗体(在任务栏上有图标显示)显示为正常窗体,该如何做?(窗体间不是MDI窗体的关系)
winform 一个窗体控制另一个窗体控件状态
我有两个窗体,一个主窗体Main,上面有三个button,其中两个默认enable为false是不好用的,还有一个login,点击login弹出登录窗体,完成登录后我想在登录窗体中控制主窗体,让两个默认enable的button为true,不知道各位明白了米?
一个窗体控制另一个窗体的隐藏
我点FORM1里的按钮rnrnshow出FORM2rnrnFORM1没有隐藏rnrn想实现点FORM2的按钮 隐藏FORM1 怎么实现哈?
一个窗体怎样控制另一个窗体
[img=http://img.my.csdn.net/uploads/201211/05/1352055720_9832.jpg][/img]rn[size=18px]如同,Form1打开程序就有,Form2是其它窗体产生的,怎样用Form2控制Form1播放音乐,尝试了好久都没搞定,望各位不吝赐教,谢谢了。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif][/img][/size][size=24px][b][/b][/size]
wpf从一个窗体中拖拽控件到另一个窗体
wpf从一个窗体中拖拽控件到另一个窗体,原来的窗体控件删除掉,显示到显另一个窗体中如何实现啊???
求助下,WPF如何实现一个窗体控制另一个窗体的某个控件。。
我刚开始学WPF的,我做了一个登陆窗口 打算在登陆成功后rn就立即把另一个窗口的ListBox里的数据存入数据库中。。。。。rnrn但不知道该如何实现。。。。我查了好多相关的关键词 都没搜到。。。于是就来这里问问
在一个窗体下实现另一个窗体内容的更新?
使用VB.net写了两个窗口,rnrn窗口1里添加了了TreeView控件,和一个按钮,rnrn实现了窗口1装载时,自动装载TreeView控件,并从本地xml文件里读出信息,然后自动生成要显示的树形目录;rnrn窗口2里添加了一个按钮。rnrn现在要实现这样一个过程:rnrn按下窗口1中的按钮,弹出窗口2;rnrn按下窗口2中的按钮时,窗口1中的TreeView控件重新装载一次,以实现更新,同时窗口2 关闭。rnrn不知道为什么,使用在一个窗口声明事件,raiseevent,在另一个窗口下写调用过程;或者在第二个窗口中定义窗口1对象,都不行,对vb.net很不熟悉,大家多多帮忙.谢谢.rn
C#中,在一个窗体里控制另一个窗体的关闭
C#中,运行时打开两个窗体frmA和frmB,frmA里的菜单里选择一项能打开另一个窗体,我在此统称为frmC,但是同时需要关闭frmB,这个怎么写呢?请帮帮忙.
一个窗体如何获得另一个窗体的事件?
在form1的代码中:form2.show vbmodalrn怎样获得form2的事件?比如form2中某个按扭被单击。
一个窗体如何调用另一个窗体的值
我的目的是想修改记录的。 我在A窗体中的子窗体 是记录, 如何通过单击 A窗体的子窗体的记录 ,然后跳转的 B窗体处进行编辑。B窗体 有文本框,来接收 A窗体的 记录。该如何弄?注意,B窗体没有绑定
如何从一个窗体调用另一个窗体
如题
一个窗体如何修改另一个窗体的宽高
1、打开显示一个窗体1,点窗体1里面的页面设置,弹出窗体2,rn2、窗体2里填了两个textbox,分别为宽和高,假如是100,200,点窗体2的确定之后,如何吧(100,200)去修改窗体1的宽高呢?
一个窗体继承另一个窗体
有一个窗体,名称是:guanli_base,上面放有一个panel1,运行后自动生成一些按钮在panel1上.rn 我从 guanli_base 继承出一个子窗体 guanli_xhlr,这样运行程序后在 guanli_xhlr 模块上也会有一些按钮(继承guanli_base的).rn现在我要问的是:在设计的时候, guanli_xhlr 模块上的panel1 位置不能动了,我想移动它的位置,怎样移动?
在一个窗体中调用另一个窗体的问题
我现在是一个窗体中定义了一个串口控件,另外一个窗体也要用串口控件,如果在另一个窗体中在再加一个串口控件的话,又要重新配置,而且还要把开始的窗体中串口关闭才能用,这样就很麻烦,我现在想在第一个窗体中配置好以后,整个程序都可以用。rn
在一个窗体中打开另一个窗体?
vb.net中,一个窗口关闭的同时,要打开另一个窗口怎么做呢?rn 如果这样做的话rn rn Dim form_1 As form1rn form_1.Show()rn Me.Hide() '如果换成 me.close 的话整个窗体都关闭了,什么都没了,有办法吗?rnrn就不能把当前的窗口关闭,只是隐藏了,怎样才能实现窗口之间的转换呢?rnrn现在就是想一次只显示一个窗体?rn
在一个窗体中打开另一个窗体
再一个窗体中加入一个按钮,打开另一个窗体
怎么在一个窗体中调用另一个窗体?
比如说在一个窗体中点了OK按钮后,后弹出一个新的窗体,这要怎么做
WPF如何实现层叠的窗体
不好意思 可能标题说的不对劲不过我已经尽力了。。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img]rnrn现描述一下功能:rn 我做的是CS软件,以前用的WinForm。窗体中,涉及到下拉菜单查询的功能,我一般都是自己写一个自定义的下拉菜单,这样可以实现筛选功能,而且可以应用到DataGridView上实现单元格的下拉菜单筛选。rnrn winForm实现 下拉框:rn 数据暂且不提,只说显示,一些下拉框由于内容较多,很容易就把下拉框扩展到窗体边缘。这样我就是用了一个Form来承载下拉窗体,这样可以不受主窗体的范围限制。主要依靠Form.Show(IWin32Window ....) 这个方法实现的 ,子窗体浮在主窗体上方不会被挡住,而且焦点仍然在主窗体上。rn rn rn From main = new Form();rn rn From child = new Form();rn ...rn child.Show(main);rn rn rn问题:rn 这个中显示在Wpf中如何实现。。。。。求教。
在另一个窗体中关闭另一个窗体
在一A窗体中,打开B窗体,当显示B窗体时,关闭A窗体
winform中,一个窗体如何嵌在另一个窗体中
rt
VS2005中一个窗体中如何修改另一个窗体的属性?
我有两个窗体都是主窗体的子窗体,通过主窗体的菜单点击同时打开窗体1和窗体2。rn刚打开时只能操作窗体1,窗体2的enabled的属性设为false;在窗体1中填了合格的信息后点击OK按钮,关闭窗体1,显示窗体2并使其enabled属性为true,然后操作窗体2。rnrn好像在窗体1中不能修改已经打开的窗体2 ???rnrn---------rn如果用另一种方法,就是通过主窗体点击只打开窗体1,然后通过窗体1打开窗体2,但是这时好像不能把窗体2的MdiParent设为主窗体???rnrn怎么办?谢谢各位帮帮忙!(用的C#)
新手求助 我想用WPF实现,在一个窗体点击按钮控制另一个窗体控件运动
ship是Mainwindow中的控件名称,我想让它运动起来,然后在这里报错:rnrnthis.ship.BeginAnimation(TranslateTransform.XProperty, dax);rnthis.ship.BeginAnimation(TranslateTransform.YProperty, day);rnrn错误:“运动.Window1”不包含“ship”的定义,并且找不到可接受类型为“运动.Window1”的第一个参数的扩展方法“ship”(是否缺少 using 指令或程序集引用?)rn
如何实现关闭一个窗体后立刻出现另一个窗体
小弟作了个展示窗口,倒计时关闭后不知如何打开主窗口。
如何实现一个窗体添加信息,另一个窗体跟着更新.
我现在碰到了这样一个问题..rnrn 我在窗体A中单击添加按钮,,弹出一个添加信息窗体B.输完信息后.在窗体B中单击确定,此时信息已经添加到数据库中去.但窗体A中的dataGrid没有显示出刚刚添加的信息,,也就是没有跟着更新.rn(dataGrid已经和数据库进行绑定)rnrn在vb.net中..只要在模块中定义一个公共变量.然后用timer控件进行监控即可实现.rnrn想请问高手,,在C#中怎样才能达到,在窗体B中添加信息,窗体A的dataGrid也会跟着更新数据.rnrnC#中是如何定义一个公共变量的??/rnrn本人是初学者,真心求助! 再些谢过!
VB.NET如何实现卸载一个窗体的同时加载另一个窗体??
VB.NET如何实现卸载一个窗体的同时加载另一个窗体??
如何实现一个窗体关闭另一个窗体?
在一个解决方案中有两个窗体,现在想在一个窗体上加个按钮关闭另一个窗体,该怎么做呢?或者同时关闭两个窗体也行。
在一个窗体中调用另一个窗体怎么实现呢?
我刚学,请问我想点击Form1的一个按钮,调用Form2(我新建的),怎样写代码呢?高手请帮帮我
如何从一个窗体到另一个
简单做了个登陆的,点击确定后我使用了下面代码进入下一个窗体[code=C#]rnMain m = new Main(txtName.Text);rnm.Show();rnthis.Close()rn[/code]rn但是发现两个窗体都没了,如何让第二个窗体不自动关闭呢?我原来一直把两个窗体都放在一个父窗体的框架内做,请问除此之外还有别的方法么?谢谢指教!
wpf mdi窗体实现
刚学WPF,问个傻傻的问题,是不是自己实现复杂的MDI窗体比较麻烦,就像winform下要用第三方组件,WPF下是不是用第三方组件会好些,容易实现些。
wpf窗体实现半透明
<Window x:Class=“Aviation.Main” xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml” WindowStartupLocation=“CenterScreen” Opaci...
wpf中如何遍历一个窗体的控件
如题
WPF Timer控制窗体颜色渐变
简介:  本文主要写到System.Windows.Forms.Timer的四个属性,利用这四个属性,去不断改变窗体的颜色 案例:  了解 Background 的值 “#1000” ,“#”后的第一位数字由小变大表示着本颜色由浅到深 源码: ------------------View Window x:Class="Demo_Mvvm.Views.WindowView"
一个窗体调另一个另一个exe中的窗体
两窗体执行一样的动作
如何把一个窗体嵌到另一个窗体中?
现在有两个窗体A,B rn如何把A放到B中或B的一个容器中?
如何使一个窗体镶嵌到另一个窗体中
我做了个程序,但我的主界面太空了,我想把其他窗体镶嵌到主界面中间,谁能告之代码该怎么写,谢谢各位大大了
windows form中如何从一个窗体跳到另一个窗体?
我在学习windows应用程序,请问windows form中如何从一个窗体跳到另一个窗体?谢谢各位大虾:)
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制