gpt4 book ai didi

c# - 您可以在自定义渲染器中更改 ToolStripMenuItem 的字体吗

转载 作者:行者123 更新时间:2023-11-30 20:41:29 26 4
gpt4 key购买 nike

我有一个带有自定义渲染器的菜单:

menuMain.Renderer = new ToolStripProfessionalRenderer(new MenuColors());

有没有办法在将鼠标移到菜单项上时更改字体或使菜单项变为斜体?

我有更改背景的事件,但不知道字体/字体颜色?

internal class MenuColors : ProfessionalColorTable
{
public override Color MenuItemSelected
{
get { return MenuHoverColor; }
}
}

最佳答案

你可以继承自ToolStripProfessionalRenderer并覆盖 OnRenderItemText并使用 ToolStripItemTextRenderEventArgs如下所示:

public class SampleRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
// Here set e.TextFont, e.TextColor and so on, For example:
if (e.Item.Selected)
{
e.TextColor = Color.Blue;
e.TextFont = new Font(e.Item.Font, FontStyle.Italic | FontStyle.Bold);
}
base.OnRenderItemText(e);
}
}

您可以使用 e.Item 属性来决定在不同情况下要做什么,例如,如果您希望该逻辑仅适用于子菜单,您可以使用如下代码:

if (e.Item.Selected && e.Item.OwnerItem != null)

关于c# - 您可以在自定义渲染器中更改 ToolStripMenuItem 的字体吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32310699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com