2013-11-29 3 views
1

На форме у меня есть OK button:Как разместить кнопки симметрично?

enter image description here

В коде я добавляю cancel кнопку, и я хочу, чтобы установить его симметрично.

Ok кнопка имеет top,left анкер. cancel кнопка - top, right кнопка.

И я:

this.CancelButton.Location = new Point(this.OKButton.Location.X ,this.OKButton.Location.Y); 

Но cancel кнопка устанавливает ближе к центру, чем кнопку OK.

После того как я сделать:

var leftDash = this.Size.Width - this.OKButton.Location.X - this.CancelButton.Size.Width; 
this.CancelButton.Location = new Point(leftDash, this.OKButton.Location.Y); 

Но совсем не вижу cancel кнопку на форме.

Рекомендации:

+1

взглянуть на Руководство по проектированию Microsoft может помочь: HTTP: // msdn.microsoft.com/en-us/library/windows/desktop/aa511268.aspx –

ответ

3

Предлагаю вам создать TableLayoutPanel для управления выравниванием. В этом случае вы можете использовать панель с двумя столбцами.

Или еще более простой вариант (если кнопки имеют одинаковую ширину) - создать пять столбцов здесь:

  • Абсолютный размер (левый край, в пикселях)
  • Авторазмер (с кнопкой)
  • Процент (установить 100%)
  • Авторазмер (с кнопкой)
  • Абсолютный размер (то же самое количество в пикселях)

Если кнопки имеют разный размер, то вместо столбцов AutoSize столбцы имеют абсолютный размер в пикселях, что равно или больше, чем самые большие кнопки.

+1

Это хороший метод, который я использую при разработке двухстрочных диалогов. – dotNET

+1

Отличное решение. Благодарю. –

0

Вы можете просто использовать визуальную среду в VS IDE, выберите обе кнопки и нажмите на значок Выровнять сверху в разделе выравнивания ленты VS IDE

+0

Это не будет выравнивать кнопку симметрично с центром –

+0

Что делать, если они закреплены в верхнем левом и верхнем правом углу – Pankaj

Смежные вопросы