e e*_*e e 4 c# contextmenu menu visual-studio-2010
所以在我的上下文菜单条上,我想更改所选项目的颜色.例如,我希望菜单项"关于我"在突出显示时将颜色从白色更改为黑色.这是我一直在尝试的:
ContextMenuStrip CMS = new ContextMenuStrip();
CMS.ForeColor = Color.White;
CMS.ShowImageMargin = false;
var item = CMS.Items.Add("About Me", null);
item.MouseHover += new EventHandler(CMS_MouseHover);
void CMS_MouseHover(object sender, EventArgs e)
{
ContextMenuStrip CMS = sender as ContextMenuStrip;
CMS.ForeColor = Color.Black;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用ToolStripMenuitem事件处理程序,但我不认为它会在这里应用?
关于如何实现这一目标的任何建议?
我也想知道是否有办法改变高光颜色,我知道这取决于你的系统,但我只是想知道.
Gar*_*eth 10
我不相信这是最好的方法,但是一种可能的方法是在ContextMenuStrip上的各个ToolStripMenuItems上连接MouseEnter和MouseLeave事件.
例如:
private void aboutToolStripMenuItem_MouseEnter(object sender, EventArgs e)
{
ToolStripMenuItem TSMI = sender as ToolStripMenuItem;
TSMI.ForeColor = Color.Black;
}
private void aboutToolStripMenuItem_MouseLeave(object sender, EventArgs e)
{
ToolStripMenuItem TSMI = sender as ToolStripMenuItem;
TSMI.ForeColor = Color.White;
}
Run Code Online (Sandbox Code Playgroud)
显然,您还需要在编程创建的ToolStripMenuItem上连接事件处理程序.
你似乎试图用"CMS.ForeColor = Color.Black"改变整个ContextMenuStrip的ForeColor,这不是你想要的.尝试以上,它确实有效.