- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有自定义渲染器的菜单:
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/
我正在尝试为 ContextMenuStrip 中的 ToolStripMenuItems 设置更大的垂直填充。但是,更改 Padding.Top 属性会在底部而不是顶部添加填充。 我还尝试为 Too
有没有办法让 ToolStripMenuItem 在我单击子控件(在其 DropDrowItems 集合中)时不关闭? 在我的例子中,我有一些用作复选框的 ToolStripMenuItems。实际上
在我的 Windows 应用程序中,我有一个带有网格的上下文菜单,问题是我想根据用户权限禁用上下文菜单中的 ToolStripMenuItem。我该怎么做。我已经这样做了,但它不起作用 private
我已将 menuStrip1 项的可见属性设置为 false 为 foreach (ToolStripMenuItem itm in menuStrip1.Items) { itm.Visib
我有一个很大的实体列表,用户需要能够从中进行选择。我的窗口上有一个 ContextMenuStrip,每个类别的实体都有一些 MenuItems。 在图书馆的例子中,想想“员工”、“可借阅者”、“赞助
我在运行时在该 strip 中有一个 ContextMenuStrip 我正在添加一个 ToolStripMenuItem。我在 XtraGridView 的 MouseDown() 事件处理程序中添
我有一个使用 ContextMenuStrip 的 C# winForm 项目。我根据使用交互动态地将 ToolStripMenuItems 添加到 ContextMenuStrip。当我添加一个新的
sqlstr = "select ModuleName,ModuleId,pagename from modules WHERE ParentID='" + parentID + "' AND VIs
例如标签和文本框。 我试过: class MyClass : ToolStripPanel { //... } 等等。但是然后: contextMenuStrip1.Items.Add(n
我正在使用 MenuStrip有两个主要ToolStripMenuItems ,其中每一个都有其“下拉菜单”,其中包含更多具有 CheckOnClick 的 ToolStripMenuItems属性设
我正在尝试找出是否有调用 ToolStripMenuItem 的方法。 例如,我在返回结果时调用 Web 服务(异步)。我根据结果填充下拉项,(在回调方法中) ToolStripMenuItem.D
我有一个每次打开时都会动态填充的下拉菜单,这是执行此操作的逻辑: private void joysticksToolStripMenuItem_DropDownOpening(object send
我的 menuStrip 中的一个 ToolStripMenuItem 包含我可以选择隐藏/取消隐藏的表的所有列 DropDown每次我想这样做时重新打开下拉菜单(单击该项目)。是否有允许此菜单在从中
我试图让我的上下文菜单保留在屏幕上,即使在我单击其中一个下拉项后(当按下 Shift 键时,尽管我认为这对问题并不重要)。当您单击“开始”>“所有程序”>“附件”> [现在按 Shift 键] 并单击
我正在 MenuStrip 中自定义绘制菜单项。我遇到的问题是菜单项坚持根据文本调整自身大小,这不是我想要的(没有文本)。我可以将 AutoSize 设置为 false 并显式指定大小,但包含菜单 (
在 WinForms .Net 2.0 应用程序中,我想创建一个带有 ToolStripMenuItem 的上下文菜单,该菜单项本身具有标签和文本框。我正在谈论的示例可以在 Access 中找到 -
我有一个主要通过 NotifyIcon 的 ContextMenuStrip 操作的应用程序 ToolStripMenuItems 有多个级别,用户可以通过它们。 问题是,当用户有两个屏幕时,Menu
我有一个带有自定义渲染器的菜单: menuMain.Renderer = new ToolStripProfessionalRenderer(new MenuColors()); 有没有办法在将鼠标移
我有一个带有 MenuStrip 的应用程序,每次我将鼠标悬停在 MenuItem 上时,它都会突出显示为蓝色。 我曾尝试更改 BackColor 和 ForeColor,但这不是问题所在。 有没有办
我有我的 ToolStripMenuItem,当我运行该应用程序时,它看起来像这样: 如您所见,ToolStripMenuItem 左边有一点空白。 如何删除它?我试图编辑每个属性,但它仍然存在...
我是一名优秀的程序员,十分优秀!