수동으로 높이를 60으로 설정하여 acontextmenustrip 항목의 가운데에 텍스트를 세로로 정렬하려고합니다. 그러나 텍스트를 항상 시도해도 상단에. 같은 항목의 이미지는 나 자신과 올바르게 정렬됩니다.수동으로 설정된 높이가있는 contextmenustrip 항목의 가운데에 텍스트 정렬
foreach (ToolStripItem item in ContextMenuStrip1.Items)
{
item.AutoSize = false;
item.Height = 60;
item.Width = maxWidth;
item.TextAlign = ContentAlignment.MiddleCenter;
}
새로운 customeRender 클래스를 생성 :
public sealed class CustomRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
if (e.Item.IsOnDropDown)
{
e.TextFormat |= TextFormatFlags.VerticalCenter;
}
base.OnRenderItemText(e);
}
}
그러나이 나를 위해 작동하지 않습니다
나는 다음과 같은 시도했습니다. 텍스트는 항목의 맨 위에 세로로 유지됩니다. 이 항목들 중 하나에 추가 된 이미지는 가운데에오고 화살표는 더 있습니다.
도움이 될 것입니다. 에이단
에 잘 작동 다음 주 (일 경우) 것으로 보인다. ToolStripItem에 대한 onpaint를 오버라이드하려고합니다. – AidanO
작동하지 않거나 적어도 아직 작동하지 않습니다. ( – AidanO