Как гарантировать, что элементы управления Winforms остаются выровненными по праву независимо от настройки шрифта? - PullRequest
1 голос
/ 06 октября 2011

У меня есть приложение Windows Forms, написанное на C #.Я создаю флажки, текстовые поля и кнопки на панели.У меня есть некоторые проблемы, когда я запускаю его на мониторе прямоугольника.

Если сделать нормальный размер шрифта компьютера (панель управления -> Оформление и темы), проблем не будет.Текстовое поле и кнопка выравнивания вверху справа, и это работает.

Но когда я изменяю шрифт компьютера на текст из панели управления, кнопки и кнопки идут влево.Выравнивания не работают.Кстати я создал все во время выполнения.Я использую этот код:

tmin[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
tmax[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
gb[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;

tmin и tmax являются массивами текстовых полей.гб это массив кнопок.что я могу с этим сделать?

РЕДАКТИРОВАТЬ

Например, инициализация массива текстового поля tmax:

 height = 1;
 padding = 10;

 for (int i = 3; i < ff.documentColumnCount; i++)
 {                
   tmax[i] = new TextBox();
   tmax[i].Name = max + (i - 2).ToString();
   tmax[i].TabIndex = i;
   tmax[i].Size = new System.Drawing.Size(65, 20);
   tmax[i].Location = new System.Drawing.Point(326, 36 + i * 20);
   tmax[i].TextChanged += new System.EventHandler(tmax17_TextChanged);
   tmax[i].Bounds = new Rectangle(326, 20 + padding + height, 65, 22);
   tmax[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
   maxTextBoxes.Add(tmax[i]);
   panel5.Controls.Add(tmax[i]);
   height += 22;
}

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Не используйте якоря.Вместо этого используйте свойство Dock и при необходимости установите минимальный размер.

0 голосов
/ 29 ноября 2011

Вместо привязки элемента управления к правому краю формы (что означает AnchorStyles.Right), установите для свойства TextAlign значение HorizontalAlignment.Right, чтобы текст находился внутри элемент управления выровнен по правому краю.

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