- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 flowlayoutpanel 上有很多按钮,然后有文本标签来打断流程。标签之前的最后一个按钮和标签本身具有 SetFlowBreak
。一切正常,但我不明白的是,为什么文本标签下有这么多空间?如果将表单调整得非常窄以至于只有一列按钮,那么不需要的空间就会消失。有人可以解释如何删除该空间吗?
代码:
public Form1()
{
InitializeComponent();
for (int i = 1; i <= 100; i++)
{
Button button = new Button();
button.Text = i.ToString();
button.Width = 150;
button.Height = 50;
button.Margin = new Padding(5);
flowLayoutPanel1.Controls.Add(button);
if (i % 10 == 0)
{
flowLayoutPanel1.SetFlowBreak(button, true);
Label label = new Label();
label.Text = "Some random text";
label.AutoSize = true;
label.Margin = new Padding(5, 5, 0, 0);
label.BackColor = ColorTranslator.FromHtml("#ccc");
flowLayoutPanel1.Controls.Add(label);
flowLayoutPanel1.SetFlowBreak(label, true);
}
}
}
还有几张图片来说明我的意思:
Image1: Strange space under the Label
Image2: No space under the Label when the form is resized (this is how I'd like this to work)
最佳答案
谢谢汉斯!我认为这是一个真正的答案,因为它解决了我的问题:(引自评论)
It is a bug, same one as this one. The extra space is the height of the next label. The workaround is exactly the same, just add a dummy control with a Width of 0 after the label. – Hans Passant
所以首先我在真正的标签之后删除了 flowbreak:
flowLayoutPanel1.SetFlowBreak(label, true);
然后换成下面的代码,神秘空间就消失了!
Label dummyLabel = new Label();
dummyLabel.Width = 0;
dummyLabel.Height = 0;
dummyLabel.Margin = new Padding(0, 0, 0, 0);
flowLayoutPanel1.Controls.Add(dummyLabel);
flowLayoutPanel1.SetFlowBreak(dummyLabel, true);
关于c# - FlowLayoutPanel 中奇怪的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23448229/
是否可以使 FlowLayoutPanel 中插入的项目自动调整 FlowLayoutPanel 的大小?这是一个例子: 内部有 1 个 FlowLayoutPanel 和 3 个按钮的表单: 如果我
好好看看这个 我有一个 Top Panel,它停靠在我表单的 Top 上(AutoSize == True,AutoSizeMode == 仅增长)。在其中我有一个 FlowLayoutPanel 停
在 FlowLayoutPanel 中,我有一个标签和一个并排的文本框。当我更改 FlowLayoutPanel 的宽度时,我还希望更改文本框的宽度。这可能吗? 控件是这样放置的: [ FLOWLAY
我在父容器中有流布局面板停靠栏(填充)。父容器 DockStyle 设置为 Top。此外,我将流布局面板的 FlowDirection 属性设置为 LeftToRight,并将两个容器的 AutoSi
我有 50 张图片。我需要在 FlowLayoutPanel 中添加这些图像,换行后的第一行有 30 张图像,第二行有 20 张图像。所以我还需要在控件上显示滚动条。 我将视频分成帧(图像)并显示在
我正在使用以下代码在 FlowLayoutPanel 中动态生成控件(win 表单 - c#)。我想在内部 foreach 完成后添加换行符。var fullText = textBox1.Text;
在我的 Windows 窗体应用程序中,我使用 FlowLayoutPanel 控件向用户显示项目列表。通过让用户将控件拖动到 FlowLayoutPanel 中的所需位置,我已经能够成功地对 Flo
我在使用 FlowLayoutPanel 时遇到了很多困难。 我有一个带有 FLP(FlowLayoutPanel) 的 Winforms 应用程序和一个子控件 - 一个 tabControl(其中有
我有一个流布局面板,我也添加了一个可链接字典 只要 value.text != "somevalue"在 whcih 情况下我只想添加该行的关键。 这里是一些示例数据,并以键和值的形式输出 "Labe
我在 Visual Studio 2013 中编程,c# winform。是否可以为 FLP 中的每个按钮选择点击事件?我正在尝试做类似 Steam Library 的事情,我已经做了很多事情,现在看
我正在使用 flowlayoutpanel,出于逻辑考虑,它有很多按钮。当我调整窗口大小时,我遇到了一个问题,当窗口变小时,我无法看到所有水平排列的按钮。相反,随着窗口变小,按钮会下降到下一行。谁能帮
我在 flowlayoutpanel 上有很多按钮,然后有文本标签来打断流程。标签之前的最后一个按钮和标签本身具有 SetFlowBreak。一切正常,但我不明白的是,为什么文本标签下有这么多空间?如
.NET Framework/C#/Windows 窗体 我希望 FlowLayoutPanel 能够根据其中的控件数量自动调整其宽度或高度。如果没有足够的空间(包装其内容),它还应该更改列数/行数。
我们将属性“Dock = Dockstyle.Fill”添加到 FlowLayoutPanel 中,以便它调整大小并填充其父控件。现在我们向 FlowLayoutPanel 添加了两个 GroupBo
我们将属性“Dock = Dockstyle.Fill”添加到 FlowLayoutPanel 中,以便它调整大小并填充其父控件。现在我们向 FlowLayoutPanel 添加了两个 GroupBo
我正在研究一个 UserControl,它由一组水平排列在 flowlayoutpanel 中控件顶部的 ComboBoxes 和一个位于 flowlayoutpanel 正下方的 datagridv
抱歉,如果我遗漏了一些明显的东西,但我正在尝试从 FlowLayoutPanel - (panelName).Controls.Clear(); 中清除控件(一系列用户控件)。不幸的是,这似乎并没有调
当我们在 FlowLayoutPanel 中使用多个 ComboBox 并在 InitializeComponent() 控件重叠后增加 FontSize 时。 有解决这个问题的方法吗? 提前致谢。
我在 FlowLayoutPanel 上动态添加了 Label,代码如下: private void button1_Click(object sender, EventArgs e) {
我正在使用 Windows 窗体并尝试在 FlowLayoutPanel 上添加多个单选按钮。我可能会动态添加 10-12 个单选按钮,也可能会删除它们,但它们始终位于 FlowLayoutPanel
我是一名优秀的程序员,十分优秀!