请教,c# winform 按钮事件

xiehuangda 2012-01-29 07:29:47
窗体 FromMian 和 From2
总共2个窗体。
FromMian 是主窗体,并且IsMdiContainer=True , 是MdiParent窗体了。
然后,在FromMian 主窗体中 有一个按钮,名字为:bt1
代码如下:
private void bt1_Click(object sender, EventArgs e)
{
From2 cppzall = new From2();
cppzall.MdiParent = this;
cppzall.WindowState = FormWindowState.Maximized;
cppzall.Show();
}


点击这个按钮就能打开 第二个窗体 即 From2
在 第二个窗体From2 中,也有一个按钮,名字为:bt2

我现在想,点击 bt2这个按钮,效果和bt1一样。
也能成为FromMian主窗体的的子窗口,WindowState = FormWindowState.Maximized;
也是最大化打开。

但是,我现在无法做到这样的效果。
因为,FromMian主窗体已经是MdiParent 父窗体了IsMdiContainer=True
在 父窗体中可以打开,子窗体。
但是,我现在想在子窗体From2中点击bt2返回来操作一次,就不行了。

请教各位,有什么方法,可以让子窗体From2中点击bt2按钮,同样也能打开 和在父窗口中打开的效果那样呢?
我想要的效果是一模一样。

麻烦各位写个代码,谢谢。
...全文
276 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiehuangda 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 iceforg2010 的回复:]
C# code

Form2 cppzall = new Form2();
cppzall.MdiParent = this.MdiParent;
cppzall.WindowState = FormWindowState.Maximized;
cppzall.Show();
[/Quote]

这个代码,在FORM2里根本不起作用。
行不通,测试过了
allen0118 2012-02-06
  • 打赏
  • 举报
回复
安装楼上的意思你自己试着写一遍代码,那样对你有很大帮助的,
xiehuangda 2012-02-06
  • 打赏
  • 举报
回复
不太明白 lu_wenjia 的说法。

请9楼的 lu_wenjia 详细点。

写个完整点代码。谢谢!
lu_wenjia 2012-02-02
  • 打赏
  • 举报
回复
将主窗体中的button的响应函数的修饰改成internal,增加一个含主窗体引用的子窗体构造函数,如public Form2(Form1 form1):this()
{
myForm=form1;//myForm为在Form2中定义的一个Form1的引用
},
主窗体中button响应即可为:
Form2 cppzall=new Form2(this);
其余照旧
Form2中的button响应可为:
myForm.button1_Click(sender,e);这样就可以了
iceforg2010 2012-02-01
  • 打赏
  • 举报
回复

Form2 cppzall = new Form2();
cppzall.MdiParent = this.MdiParent;
cppzall.WindowState = FormWindowState.Maximized;
cppzall.Show();
iceforg2010 2012-02-01
  • 打赏
  • 举报
回复
Form2 cppzall = new Form2();
cppzall.MdiParent = this;
cppzall.WindowState = FormWindowState.Maximized;
cppzall.Show();
}
xiehuangda 2012-01-29
  • 打赏
  • 举报
回复
你写的代码也 行不通呢?

我的意思是,父窗口使用MDI模式打开子窗口,然后子窗口,点一下按钮,可以打开自身。
也就是,子窗口中,子窗口能自己打开自己,并且打开的效果是和 父窗口打开的效果一样。
也是使用MDI模式打开。
达到这样的效果,就可以了。
谢谢。
cnwin 2012-01-29
  • 打赏
  • 举报
回复
你的问题描述得不太清楚,看你得意思想点子窗体的button也能show出一个和自身同样的父窗体为FromMian的窗体并最大化显示。
From2 frmNew = new From2();
frmNew.MdiParent = FromMian;
frmNew.WindowState = FormWindowState.Maximized;
frmNew.Show();
xiehuangda 2012-01-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zx342752854 的回复:]
或许你要建个Form3才行
[/Quote]
这样不行,打开的是不是MDI模式的窗口。
我想要,打开MDI模式窗口
testtestett 2012-01-29
  • 打赏
  • 举报
回复
试一下form3.MdiParent = this.MdiParent;
童话少年 2012-01-29
  • 打赏
  • 举报
回复
或许你要建个Form3才行
Ny-6000 2012-01-29
  • 打赏
  • 举报
回复
代码,还是自己慢慢来吧.

这样记得才清楚.

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧