/ / Text vertikal in der Mitte eines Kontextmenüs mit manuell eingestellter Höhe ausrichten - c #, Kontextmenü, Textausrichtung

Richten Sie den Text vertikal in der Mitte eines contextmenustrip-Elements mit manuell gesetzter Höhe aus - c #, contextmenustrip, text-alignment

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 № 1

Verwenden 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);