1

我有一个应用程序,它由一个表单组成,加载后添加了两个来自 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;
4

1 回答 1

0

你试过这样的事情吗?

FsLookupPanel.Dock = MakeResPanel.Dock = DockStyle.Fill;
this.flowLayoutPanel1.Controls.Add(FsLookupPanel);
this.flowLayoutPanel1.Controls.Add(MakeResPanel);

这适用于框架 3.5,所以你应该对 4.5 没问题

通过设计器设置属性时您没有它,但属性在那里。通过代码它正在工作

于 2013-06-06T20:03:39.010 回答