Кнопка Align в панели управления - PullRequest
1 голос
/ 16 августа 2011

Я написал UserControl, которые содержат две кнопки в Panel элементе управления. И у меня есть несколько форм. Я хочу найти это UserControl в формах и закрепить снизу.
Проблема в том, что кнопки выровнены вправо. Я хочу уйти. Как это сделать.
enter image description here PS. Я использую DevExpress, но это не обязательно. Спасибо.

Ответы [ 3 ]

2 голосов
/ 16 августа 2011

вот некоторые решения могут быть оптимальными, но я работаю

  1. 1 - вы можете сделать каждую кнопку на отдельной маленькой панели и изменить это прокладка и закрепление этих буксирных панелей к родительской панели
  2. 2 - вы можете использовать разделители, что намного проще и установить его цвет цвет родительской панели (и закрепите их справа).> справа налево: кнопка делителя кнопки.
2 голосов
/ 16 августа 2011

Существует свойство dock для каждого элемента управления в winforms AFAIK.Используй это.Или вы можете использовать значения X и Y этого пользовательского элемента управления для установки.Но при изменении размера формы вы также должны изменить свой контроль.

1 голос
/ 16 августа 2011

Я бы поместил кнопки в одну строку таблицы с двумя столбцами, где высота строки = автоматический размер, ширина первого столбца составляет 100%, а ширина второго столбца - автоматический. Затем я добавил бы кнопки к каждому столбцу и установил привязку в верхнем правом углу каждого.

Я также предоставил код для формы, которая делает это.

Form.cs:

using System;

с использованием System.Collections.Generic; using System.ComponentModel; используя System.Data; использование System.Drawing; используя System.Text; используя System.Windows.Forms;

пространство имен WindowsFormsApplication8 { открытый частичный класс Form1: Form { частный System.Windows.Forms.DataGridView dataGridView1; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; частный System.Windows.Forms.Button button1; частный System.Windows.Forms.Button button2;

    public Form1()
    {
        InitializeComponent();
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.dataGridView1 = new System.Windows.Forms.DataGridView();
        this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
        this.button1 = new System.Windows.Forms.Button();
        this.button2 = new System.Windows.Forms.Button();
        ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
        this.tableLayoutPanel1.SuspendLayout();
        this.SuspendLayout();
        // 
        // dataGridView1
        // 
        this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
        this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.dataGridView1.Location = new System.Drawing.Point(0, 0);
        this.dataGridView1.Name = "dataGridView1";
        this.dataGridView1.Size = new System.Drawing.Size(620, 269);
        this.dataGridView1.TabIndex = 0;
        // 
        // tableLayoutPanel1
        // 
        this.tableLayoutPanel1.AutoSize = true;
        this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
        this.tableLayoutPanel1.ColumnCount = 2;
        this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
        this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
        this.tableLayoutPanel1.Controls.Add(this.button1, 1, 0);
        this.tableLayoutPanel1.Controls.Add(this.button2, 0, 0);
        this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom;
        this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 240);
        this.tableLayoutPanel1.Name = "tableLayoutPanel1";
        this.tableLayoutPanel1.RowCount = 1;
        this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
        this.tableLayoutPanel1.Size = new System.Drawing.Size(620, 29);
        this.tableLayoutPanel1.TabIndex = 1;
        // 
        // button1
        // 
        this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
        this.button1.Location = new System.Drawing.Point(542, 3);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(75, 23);
        this.button1.TabIndex = 0;
        this.button1.Text = "button1";
        this.button1.UseVisualStyleBackColor = true;
        // 
        // button2
        // 
        this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
        this.button2.Location = new System.Drawing.Point(461, 3);
        this.button2.Name = "button2";
        this.button2.Size = new System.Drawing.Size(75, 23);
        this.button2.TabIndex = 1;
        this.button2.Text = "button2";
        this.button2.UseVisualStyleBackColor = true;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(620, 269);
        this.Controls.Add(this.tableLayoutPanel1);
        this.Controls.Add(this.dataGridView1);
        this.Name = "Form1";
        this.Text = "Form1";
        ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
        this.tableLayoutPanel1.ResumeLayout(false);
        this.ResumeLayout(false);
        this.PerformLayout();

    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...