Ich versuche, den Text in der Mitte auszurichtenvertikal in einem Textelement mit manuell eingestellter Höhe von 60. Egal was ich versuche, der Text steht immer oben. Bilder in demselben Objekt passen sich korrekt an, wenn ich etwas tue.
Ich habe folgendes versucht:
foreach (ToolStripItem item in ContextMenuStrip1.Items)
{
item.AutoSize = false;
item.Height = 60;
item.Width = maxWidth;
item.TextAlign = ContentAlignment.MiddleCenter;
}
und erstellen Sie eine neue customeRender-Klasse:
public sealed class CustomRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
if (e.Item.IsOnDropDown)
{
e.TextFormat |= TextFormatFlags.VerticalCenter;
}
base.OnRenderItemText(e);
}
}
Dies funktioniert jedoch nicht für mich. Der Text bleibt vertikal oben im Element. Ein Bild, das zu einem dieser Elemente hinzugefügt wird, wird zentriert.
Jede Hilfe wäre toll. Aidan
Antworten:
1 für die Antwort № 1Verwenden Sie ein ToolStripButton anstelle eines ToolStripItem - die Textausrichtung scheint bei diesem Steuerelement gut zu funktionieren
var b = new ToolStripButton("Hello");
b.TextAlign = ContentAlignment.MiddleCenter;
contextMenuStrip1.Items.Add(b);