У меня есть строка с текстом, и я хочу вывести ее по центру определенной позиции символа.
Есть ли способ сделать это, например, с помощью метки?
Или мне лучше подумать о том, чтобы нарисовать строку с помощью GDI +, измеряя длину каждого символа, а затем вручную рисовать ее там, где мне нужно, по центру?
Пример, чтобы было понятнее:
Строка: "Lorem Ipsum", Позиция: 2.
Исходя из этого, мне нужна строка, отображаемая таким образом, чтобы символ «r» находился в середине любого поля отображения (метки и т. д.).
numericUpDown1_ValueChanged
код события:positionTo(label2, panel1, (int)numericUpDown1.Value);
19.12.2016Graphics.MeasureString
/DrawString
оба являются GDI+. То, что вы хотите, чтобы соответствовать, этоTextRenderer.MeasureText
/DrawText
. И даже если вы рисуете текст на заказ, вам следует использоватьTextRenderer.DrawText
, потому что он лучше, четче и быстрее. :-) Это обычная путаница, поэтому я просто хотел уточнить свой предыдущий комментарий. 20.12.2016TextRenderer.MeasureText
не имеет такой опции, какGenericTypographic
, он всегда имеет слишком большие размеры, что нормально, когда мы хотим объединить строки, которые мы рисуем, но не здесь. Это может работать при использовании левого и правого размера и расчете процента для использования вместе с фактической Label.Width, Label с включенным AutoSize. 20.12.2016