我有一个应用程序,它由一个表单组成,加载后添加了两个来自 UserControl 的控件。UserControls 共享相同的坐标空间,我用 BringToFront()/SendToBack() 交替显示哪一个。基本上是穷人的 WPF 页面。每个 UC 都有一个面板,占据了 UserControl 的整个区域,面板包含所有按钮、文本框、DataGridView 等。
基本上,我正在尝试使用 Dock 或 Anchor 属性使用包含它们的表单来调整 UserControls 的大小,但问题是 UserControl 本身似乎没有这些属性,所以当我调整窗口大小时,面板包含所有内容永远不会变大。我尝试在每个 UserControl 内设置面板的 Anchor 和 Dock 属性均无济于事。我还尝试将 FlowLayoutPanel 添加到 Form,然后将 UserControls 添加到其中,而不是直接添加到 Form 对象。结果相同。我是否通过使用包含面板的 UserControls 搞砸了自己?有任何解决这个问题的方法吗?PS,我对 C#/.NET 有点陌生。一段时间以来,我一直在用 Java 做我的大部分开发工作。
代码例如:
//Add the panels
FsLookupPanel = new FSLookupPanel(this, this.LdapConn, this.dbConnect);
MakeResPanel = new MakeReservationPanel(this, this.dbConnect);
this.flowLayoutPanel1.Controls.Add(FsLookupPanel);
this.flowLayoutPanel1.Controls.Add(MakeResPanel);
//this.Controls.Add(FsLookupPanel);
//this.Controls.Add(MakeResPanel);
FsLookupPanel.Visible = true;
MakeResPanel.Visible = false;