Ответ 1
Просто установите для свойства AutoSize значение False в конструкторе. Отрегулируйте размер, чтобы он соответствовал колонке. Затем установите TextAlign в одно из выравнивающих.
Как настроить ярлыки для выравнивания справа, даже если они имеют разные длины.
У меня есть набор меток, которые встречаются рядом друг с другом, а также под друг другом.
Проблема в том, что они всегда выравниваются слева в строке метки, но мне нужно, чтобы они выравнивались справа, когда они отображали суммы из других строк.
Только для проверки Я не говорю о выравнивании текста Я ищу решение для выравнивания моих меток.
Заранее спасибо
Просто установите для свойства AutoSize значение False в конструкторе. Отрегулируйте размер, чтобы он соответствовал колонке. Затем установите TextAlign в одно из выравнивающих.
Вы должны иметь возможность сделать это во время выполнения, используя следующий код:
'find the current right alignment position
Dim rightAlign As Integer = Label1.Left + Label1.Width
'set the text (assumes AutoSize is set to True)
Label1.Text = value
'adjust position so the right hand point is in the same position as before
Label1.Left = rightAlign - Label1.Width
Если вы спрашиваете, как это сделать от дизайнера, используйте меню "Формат". Выделите все элементы управления, которые вы хотите выровнять, затем щелкните элемент управления, к которому вы хотите привязать другой. Выберите "Формат" > "Выровнять" > "Права".
Если вы пытаетесь сделать это во время выполнения, вы можете пропустить элементы управления, которые хотите выровнять, и установить их .X свойство в соответствии с их шириной. Например. Чтобы выровнять ярлык так, чтобы его правая сторона была равна X = 200... SomeLabel.X = 200 - SomeLabel.Width.
Мой метод еще более странный. Я создаю ярлыки, а затем, когда выкладываем поля для отчета, настраивайте метки для числа (и т.д.), Которые должны быть выровнены по правому краю Примечание: все метки заканчиваются на 'lbl' - txtNew - текстовое поле столбца отчета. - получить левый край столбца плюс ширину столбца минус ширина метки. Работает! Только не мой любимый способ сделать это.
' *** NEED TO CALC POSITION FOR RIGHT JUSTIFY OF LABEL !!!!!
If ShouldRightJustify(rs.Fields(i).Type) Then
rpt.Section(acPageHeader).Controls(rs.Fields(i).Name & "lbl").Left = _
(lblCol + txtNew.Width) _
- rpt.Section(acPageHeader).Controls(rs.Fields(i).Name & "lbl").Width
End If