如何居中对齐FlowLayoutPanel中的多个单选按钮?

拉希克·哈斯纳特(Rashik Hasnat)

我正在使用Windows窗体,并尝试在上添加多个单选按钮FlowLayoutPanel我可能会动态添加10-12个单选按钮,也可能会删除它们,但一直以来,它们将位于的中心FlowLayoutPanel目前,它们的添加如下图所示:在此处输入图片说明

战车

要微调控件在其容器中的位置,可以修改其Margin属性。

假设您有控件在列表中居中:

List<Control> ctls = new List<Control>();
foreach (Control c in flowLayoutPanel1.Controls) ctls.Add(c);

您可以调用一个函数来对齐它们:

void centerControls(List<Control> ctls, Control container)
{
    int w = container.ClientSize.Width;
    int marge = (w - ctls.Sum(x => x.Width)) / 2;
    Padding oldM = ctls[0].Margin;
    ctls.First().Margin = new Padding(marge, oldM.Top, oldM.Right, oldM.Bottom);
    ctls.Last().Margin = new Padding(oldM.Left, oldM.Top, oldM.Right, marge);
}

在此处输入图片说明

在此处输入图片说明

添加或删除控件后,请调用该函数:

centerControls(ctls, flowLayoutPanel1);

您将需要重新设置Margins,当你添加新的按钮..

请注意,我只更改外部Margins,而不更改它们之间的空间。要执行后者,您可以计算空间并更改Margins所有控件:

在此处输入图片说明

void spaceControls(List<Control> ctls, Control container)
{
    int w = container.ClientSize.Width;
    int marge = (w - ctls.Sum(x => x.Width)) / (ctls.Count * 2 );
    Padding oldM = ctls[0].Margin;
    Padding newM = new Padding(marge, oldM.Top, marge, oldM.Bottom);
    foreach (Control c in ctls) c.Margin = newM;
}

也要考虑一下,当一行以上时会发生什么RadioButtons您可能需要在清单上做更多的工作。

另外请注意,用户不喜欢其控件跳很多!

更新:看看ar Reza在这里这里的帖子,以无代码的方式实现类似于第一种布局的方法!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何居中对齐3个单选按钮?

来自分类Dev

如何居中对齐3个单选按钮?

来自分类Dev

如何对齐多个单选按钮列表?

来自分类Dev

如何在DIV中对齐单选按钮?

来自分类Dev

如何对齐单选按钮?

来自分类Dev

如何在Shiny R中垂直对齐多个单选按钮列?

来自分类Dev

如何检查jQuery中的多个单选按钮?

来自分类Dev

如何增加单选按钮中文本的大小,并且该文本应居中对齐

来自分类Dev

如何在引导程序中并排对齐单选按钮?

来自分类Dev

如何在 HTML 和 CSS 中对齐单选按钮文本?

来自分类Dev

如何在div中居中对齐多个跨度?

来自分类Dev

如何居中以编程方式创建的单选按钮?

来自分类Dev

android如何在单选按钮组内对齐单选按钮?

来自分类Dev

在Android中在多行中对齐单选按钮

来自分类Dev

如何验证多个单选按钮

来自分类Dev

CSS-如何对齐单选按钮?

来自分类Dev

如何对齐标签和单选按钮?

来自分类Dev

CSS-如何对齐单选按钮?

来自分类Dev

如何居中对齐数据列表及其按钮

来自分类Dev

尝试将TD中的居中对齐按钮

来自分类Dev

在按钮中垂直居中对齐文本

来自分类Dev

将按钮对齐以在BoxLayout中居中

来自分类Dev

Java:如何避免单选按钮中的多个选择。

来自分类Dev

如何从php中的单选按钮获取多个值

来自分类Dev

如何在两列中显示多个单选按钮

来自分类Dev

如何居中对齐多个DIV元素

来自分类Dev

单选按钮的标签对齐

来自分类Dev

单选按钮对齐问题

来自分类Dev

单选按钮水平对齐