Для чего нужно свойство .NET Control.Margin?

Другой вариант - использовать shlex.split . Это особенно удобно, если у вас есть строка аргументов CLI:

import shlex
argString = '-vvvv -c "yes" --foo bar --some_flag'
args = parser.parse_args(shlex.split(argString))

11
задан James Dunn 22 October 2013 в 15:13
поделиться

2 ответа

Граничное свойство используется любым механизмом расположения, который Ваш хост управления (Панель, например) использует любым способом, которым считает целесообразным механизм расположения. Однако это лучше всего используется для интервала, как Вы предполагаете. Просто прочитайте документацию для того определенного механизма расположения.

Это может быть очень удобно при использовании FlowLayoutPanel или TableLayoutPanel, например - чтобы или уменьшить дополнение по умолчанию или растянуть вещи немного. Очевидно, если Вы пишете поставщику пользовательского макета, можно использовать Поле однако, Вы считаете целесообразным.

5
ответ дан 3 December 2019 в 08:31
поделиться

Как сказанный Philip Rieck, граничное свойство только уважают контейнерные средства управления, которые выполняют расположение. Вот пример, который делает это довольно ясным как TableLayoutPanel отношения свойство Margin:

using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            TableLayoutPanel pnl = new TableLayoutPanel();
            pnl.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));
            pnl.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));
            pnl.Dock = DockStyle.Fill;
            this.Controls.Add(pnl);

            Button btn1 = new Button();
            btn1.Text = "No margin";
            btn1.Dock = DockStyle.Fill;

            Button btn2 = new Button();
            btn2.Margin = new Padding(25);
            btn2.Text = "Margin";
            btn2.Dock = DockStyle.Fill;

            pnl.Controls.Add(btn1, 0, 0);
            pnl.Controls.Add(btn2, 1, 0);
        }
    }
}

Я верю единственной.NET 2,0 встроенных средств управления, которые уважают это свойство, FlowLayoutPanel и TableLayoutPanel; надо надеяться, сторонние компоненты уважают его также. Это не имеет в основном никакого эффекта в других сценариях.

9
ответ дан 3 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: