【问题标题】:Panel not anchor to right面板未锚定到右侧
【发布时间】:2021-08-21 22:14:10
【问题描述】:

我尝试了应用程序的开发前端。但是我有一个问题,面板没有固定在右边,...这个面板是动态的,但我不明白,为什么不工作。

            FlowLayoutPanel flp = new FlowLayoutPanel();
            flp.Dock = DockStyle.Fill;
            flp.AutoScroll = true;
            flp.BackColor = Color.Blue;
            pnl.Controls.Add(flp);
            Panel pnl1 = new Panel();
            pnl1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
            pnl1.Size = new Size(flp.Width - 18, 40);
            pnl1.BackColor = Color.FromArgb(224, 224, 209);
            pnl1.Margin = new Padding(8, 2, 0, 0);
            flp.Controls.Add(pnl1);

可以帮我谢谢。

【问题讨论】:

  • To 'Anchor right' 并不意味着它位于右边界,但它与右边界的距离不会改变。

标签: c# frameworks backend


【解决方案1】:

FlowLayoutPanel 的宽度如何?我看到你根据流布局的宽度设置Panel 的大小

pnl1.Size = new Size(flp.Width - 18, 40);

更新: 从评论中获得更多信息后。这是FlowLayoutPanel 的行为。

https://docs.microsoft.com/en-us/dotnet/desktop/winforms/controls/how-to-anchor-and-dock-child-controls-in-a-flowlayoutpanel-control?view=netframeworkdesktop-4.8

【讨论】:

  • 关于流布局面板的大小我没有设置。 Flowlayoutpanel 是码头填充
  • @ANDRECustódio:是的,我尝试创建一个项目并重现您的问题。我将另一个面板添加到流布局(自上而下)中,并调整第二个面板的大小,锚面板的大小是比例。您可以参考此链接了解更多信息:docs.microsoft.com/en-us/dotnet/desktop/winforms/controls/…
  • @Le_VU 我发现了问题。我将 flowlayoutpanel 更改为 panel1 并且 panel2 工作(锚定到右侧)。谢谢!!!
猜你喜欢
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多