求大神帮我看看!

m0_37629182 2017-02-27 12:43:06
请问一个问题 我在主窗体的panel容器里添加了一个Form子窗体 也实现了点击后子窗体最大化的效果 但是在主窗体不是最大化的时候点击弹出子窗体后 我去把主窗体最大化之后 Form子窗体不会跟随panel的尺寸改变

private void Form1_Load(object sender, EventArgs e)
{
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.panelFrom.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label1.ForeColor = Color.LightPink;
}


private void OpenForm(Form objForm)
{
objForm.TopLevel = false;//将子窗体设置成费顶级控件
objForm.WindowState = FormWindowState.Maximized;//设置窗体最大化
objForm.FormBorderStyle = FormBorderStyle.None;//去掉窗体边框
objForm.Dock = System.Windows.Forms.DockStyle.Fill;//设置子窗体属性为Fill
//objForm.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right | System.Windows.Forms.AnchorStyles.Top |System.Windows.Forms.AnchorStyles.Bottom;
objForm.Parent = this.panelFrom;//指定当前子窗体显示的容器
this.panelFrom.Controls.Add(objForm);
objForm.Show();

}

private void 合同履行情况ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmContract objForm = new FrmContract();
this.OpenForm(objForm);
}

private void panelFrom_SizeChanged(object sender, EventArgs e)
{
foreach(Control ctrl in this.panelFrom.Controls)
{
if (ctrl is Form)
{
ctrl.Height = this.panelFrom.Height;
ctrl.Width = this.panelFrom.Width;
}
}

}
...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuggzu 2017-02-27
  • 打赏
  • 举报
回复
但你的openform里面用代码设置了最大化,除非你在click之后恢复一次子窗体为normal态。
m0_37629182 2017-02-27
  • 打赏
  • 举报
回复
我的意思是 在没有开启子窗体的时候 改变了缩小了主窗体的大小 然后点开子窗体 这是如果把主窗体最大化了,子窗体还是原来的尺寸 不会随着panel改变
xuggzu 2017-02-27
  • 打赏
  • 举报
回复
嵌入的窗体都最大化了,怎么变大小?……

110,499

社区成员

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

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

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