gpt4 book ai didi

c# - FlowLayoutPanel 问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:33:22 27 4
gpt4 key购买 nike

我在使用 FlowLayoutPanel 时遇到了很多困难。

我有一个带有 FLP(FlowLayoutPanel) 的 Winforms 应用程序和一个子控件 - 一个 tabControl(其中有一个 webBrowser)。该窗体还有一个 TableLayoutPanel 停靠在顶部,另一个 TableLayoutPanel 停靠在底部。所以我的意图是用 FlowLayoutPanel 填充这些 TLP 之间的空间。所有控件都添加到设计 View 中的窗体。

我需要什么 - 当我调整表单大小时,FLP 应该很好地调整大小,填充表单,tabControl 也应该填充 FLP。

表单设置为最大化运行,因此当我运行应用程序时默认情况下会发生第一次调整大小 - 此时,FLP 及其控件不会调整大小,除非我在 Form_Layout 事件处理程序中特别告诉他们这样做.

问题是,无论我在该事件处理程序中尝试组合大小更改、 anchor 、停靠点,总是 tabControl 的顶部或底部超出表单区域,我看不到完整的滚动条其中的网络浏览器;所以选项卡控件没有正确停靠在 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 的调整大小行为。

最佳答案

如果只包含一个控件,则使用 FLP 毫无意义。它的工作是让控件在其中流动,如果只有一个,则什么也不会流动。

按原样使用 TabControl,将其 Dock 属性设置为 Fill。如果这使其与其中一个 TLP 重叠,则右键单击 TLP 并单击“发送到后面”。

关于c# - FlowLayoutPanel 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694717/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com