现在有2个窗口 from1 和 from2
from1中有个 panel
from1上还有个 button
点 button时 from2.ShowDialog();from2上有个最大化按钮,点击 最大化按钮 要让 from2 显示到 panel中,点最还原时 又需要出来
高手们,这个可做吗?
from1中有个 panel
from1上还有个 button
点 button时 from2.ShowDialog();from2上有个最大化按钮,点击 最大化按钮 要让 from2 显示到 panel中,点最还原时 又需要出来
高手们,这个可做吗?
解决方案 »
- 求助:有关 System.__Com 的问题
- 關於數據庫!!!
- 困惑 同一个string在richtextbox显示不完,但写如txt后却是完整的
- 如何高效清除XML文档每个节点值开始的换行?
- tcp,udp,http包大小?
- 一个老大难问题
- 求C#读取word内容“包含表”和“不包含表”的实例
- 为什么我的DataGrid里的OnDeleteCommand="Delete"没有作用
- 如何在一个有背景图片的Graphics对象上画上从点(0,0)到鼠标位置的线?要求鼠标移动时,原位置自动恢复。我考虑用异或,不知如何实现。
- vs.net在win98中可以安装吗?
- 关于线程的问题
- 请教:关于“多次单表查询”与“多表关联查询”的性能比较
这样可明白?
首先你单击窗体A的按钮1,ShowDialog出子窗体B.单击B窗体的最大化按钮时,关闭B窗体,并返回信息给A窗体让A窗体的panel显示出B窗体 Form2 f2 = new Form2();
f2.TopLevel = false;
f2.Parent = this.panel1;
f2.Show();点击B窗体的按钮时再次截获消息,关闭panel上的B窗体,然后重新ShowDialog出B窗体.
这么做可能有些恶心,但是对应你的需求,我认为你应该去查看一下MDI模式的窗体的样式,我觉得这个才是你的需求.
protected override void OnResize(EventArgs e)
{
if (WindowState == FormWindowState.Maximized)
{
//
MessageBox.Show("max");
}
else if (WindowState == FormWindowState.Minimized)
{
//
MessageBox.Show("min");
}
}最大化最小化事件http://www.cnblogs.com/kingdi/archive/2006/09/04/494740.html
用MDI处理。
MDI能不能 在主窗体 部分的? 而不是 整个都是 MDI
说明:form1设计文件
public System.Windows.Forms.Panel panel1;
//form1
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Owner = this;
f2.Show();
}
//form2
Control mypa;
private void Form2_Resize(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Maximized)
{
this.Parent = mypa;
this.TopLevel = true;
this.WindowState = FormWindowState.Maximized;
} if (this.WindowState == FormWindowState.Minimized)
{
Form1 f1 = (Form1)this.Owner;
this.TopLevel = false;
this.Parent = f1.panel1;
}
} private void Form2_Load(object sender, EventArgs e)
{
mypa = this.Parent;
}