我有一个FlowLayoutPanel里面有一些按钮。我希望FlowLayoutPanel的宽度与最大的按钮相同,但要修复高度。我怎么能做到这一点?我用google搜索了它,但是我发现的全部都是关于WPF的。有没有办法在C#WinForms中自动调整宽度或自动调整控件大小?
回答
你可以简单地通过LINQ的控制,并找到你的按钮的最大宽度:
int maxWidth = flp.Controls.OfType<Button>().Max(x => x.Width) +
(flp.Margin.Left + flp.Margin.Right);
flp.ClientSize = new Size(maxWidth, flp.ClientSize.Height);
能否请您详细说明一个例子? – Sipo
[link](http://www.techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/)我认为这篇文章很好地描述了它。这个想法是,您可以为控件的某些边(上,下,左,右)设置固定位置。有了这个,你可以在你的winForms上实现一个很好的扩展。所以,如果你按照你想要的方式设置你的表单,然后设置锚点,那么即使用户调整了你的表单,它也应该看起来不错。 – Boldan
当答案是链接时,我无法将其标记为答案...这是StackOverflow的规律,我认为... – Sipo
- 1. WinForms垂直自动调整大小,而宽度可调整?
- 2. 禁用自动调整大小宽度
- 3. Textarea宽度自动调整大小
- 4. System.Windows.Forms.ToolStrip高度或自动调整大小
- 5. 有没有办法在DataGrid .NET Compact Framework中自动调整列的大小
- 6. 有没有办法在Interface Builder/storyboard中自动调整UIImageView的大小?
- 7. 自动调整大小WPF控件
- 8. WPF:自动控件大小调整
- 9. 有没有办法使用pandas.ExcelWriter自动调整Excel列的宽度?
- 10. 调整大小DIV宽度自动适应一段的宽度
- 11. 当控件调整大小时,Winforms自动滚屏会丢失
- 12. DirectShow自动调整大小
- 13. YouTube自动调整大小
- 14. 自动调整大小JTabbedPane
- 15. GridView自动调整大小
- 16. iframe自动调整大小
- 17. 自动NSView调整大小
- 18. 自动调整大小CCLabelBMFont
- 19. 自动调整大小
- 20. JTextFields自动调整大小
- 21. CStatusBarCtrl自动调整大小
- 22. 自动调整SVG大小?
- 23. DataGridView自动调整大小
- 24. FlowLayoutPanel自动调整大小
- 25. JTabbedPane自动调整大小
- 26. GtkTextView自动调整大小
- 27. 自动调整大小GtkScrolledWindow
- 28. NSScrollView自动调整大小
- 29. Android - 自动调整大小
- 30. UILabel - 自动调整大小
问题的标题过于笼统。您可以为不同的控件使用不同的解决方案作为内置'AutoSize'支持的控件的一般规则,如果您设置控件的'MinimumSize'和'MaximumSize',则该值通常受自动调整大小例程的支持。 例如对于'FlowLayoutPanel',您可以通过将'FlowLayoutPanel'的最小高度和最大高度和高度设置为相同的固定值并将其'AutoSize'设置为true来实现所需的布局。此外,您需要将'FlowDirection'设置为'TopDown'和'WrapContents'为false。 –