Я задал первому елементу меню висоту 60 и textalign = MiddleCenter Но елемент просто игнорит свойство
Нужно разместить текст вертикально и горизонтально по центру
Отрисовать текст посередине элемента можно вручную, в событии Paint.
private void openToolStripMenuItem_Paint(object sender, PaintEventArgs e)
{
var item = sender as ToolStripItem;
TextRenderer.DrawText(e.Graphics, item.Text, item.Font, e.ClipRectangle, item.ForeColor
//, TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter
);
}
TextRenderer - это отрисовка с помощью GDI. По умолчанию задаётся форматирование по центру, как по вертикали, так и по горизонтали. Можно раскомментировать строку, чтобы задать форматирование самостоятельно.
Можно использовать отрисовку с помощью GDI+. Тут по умолчанию отрисовка выполняется в левом верхнем углу, поэтому задаём нужную.
private void openToolStripMenuItem_Paint(object sender, PaintEventArgs e)
{
var item = sender as ToolStripItem;
var sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(item.Text, item.Font, Brushes.Black, e.ClipRectangle, sf);
}
В обоих случаях нужно отключить вывод текста элемента по умолчанию. Для этого можно задать свойство DisplayStyle в None.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости