#如何设置是子窗体无边框,但是依旧能够按照MdiLayout里面提供的枚举方法排列,并且子窗体的大小不发生变化,当出现的子窗体过多是父窗体随着子窗体的数量的增加而变大。
内容就是标题啦。。。
C#关于MDI的问题,菜鸟一个还望各位大佬。。。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-05 23:53关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在C#中,如果你想要创建一个具有MDI布局的窗口并允许子窗口调整大小,同时保持其位置不变,你可以使用以下步骤:
- 创建一个新的Windows Forms应用。
- 在主窗体上添加一个子窗体作为 MDI 窗体。
- 为每个子窗体添加一个控件(例如Label)作为标题。
- 使用
Dock属性将每个子窗体与主窗体关联。这使得它们可以以水平或垂直方式显示,但不会改变它们的位置。 - 设置每个子窗体的大小为0,这样它们就不会占据可用空间。
- 添加更多的子窗体到你的应用程序中,然后观察它们是如何响应的。
下面是一个简单的示例代码:
using System; using System.Windows.Forms; namespace MDIExample { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var subForm = new SubForm { Dock = DockStyle.Fill }; this.MdiParent = subForm; // 将主窗体绑定到子窗体 subForm.Show(); // 显示子窗体 } } public partial class SubForm : Form { public SubForm() { InitializeComponent(); this.Text = "SubForm"; this.ClientSize = new Size(0, 0); // 阻止子窗体占满整个屏幕 } } }在这个例子中,当你点击按钮时,会打开一个新的子窗体,这个子窗体的大小被设置为0,因此它不会占用可用的空间。而且,由于我们设置了主窗体和子窗体的
Dock属性为Fill,所以子窗体可以在主窗体的任何方向上填充整个屏幕。解决 无用评论 打赏 举报