我在 FlowLayoutPanel 上遇到了很多困难。
我有一个带有 FLP(FlowLayoutPanel)和一个子控件的 Winforms 应用程序 - 一个 tabControl(其中有一个 webBrowser)。该表单还有一个停靠在顶部的 TableLayoutPanel,另一个停靠在底部的 TableLayoutPanel。所以我的意图是用 FlowLayoutPanel 填充这些 TLP 之间的空间。所有控件都添加到设计视图中的窗体中。
我需要什么 - 当我调整表单大小时,FLP 应该很好地调整大小,填充表单,并且 tabControl 也应该填充 FLP。
表单设置为最大化运行,因此当我运行应用程序时默认会发生第一次调整大小 - 此时,FLP 及其控件不会调整大小,除非我在 Form_Layout 事件处理程序中专门告诉他们这样做。
问题是,无论我在该事件处理程序中尝试的 Size 更改、Anchors、Docks 的组合如何,tabControl 的顶部或底部始终位于表单区域之外,并且我看不到 webbrowser 的完整滚动条在里面; 所以选项卡控件没有正确停靠在 FLP 内(或者 FLP 没有停靠在表单中),即使我告诉它是。这是 Form_layout 代码:
private void MyForm_Layout(object sender, LayoutEventArgs e)
{
//resize FLP
pnlMainFlowLayout.Size = this.Size - new Size(15, 0);
pnlMainFlowLayout.Dock = DockStyle.Fill;
pnlMainFlowLayout.BringToFront();
//resize child control of FLP
tabControl.Size = pnlMainFlowLayout.Size;
tabControl.BringToFront();
}
我真的需要了解 FlowLayoutPanel 的调整大小行为。