[英]Context Menu Strip -> Changing the color of Highlighted Items
所以在我的上下文菜單條上,我想更改所選項目的顏色。 例如,我希望菜單項“關於我”在突出顯示時將顏色從白色更改為黑色。 這是我一直在嘗試的:
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;
}
我也嘗試過使用ToolStripMenuitem事件處理程序,但我不認為它會在這里應用?
關於如何實現這一目標的任何建議?
我也想知道是否有辦法改變高光顏色,我知道這取決於你的系統,但我只是想知道。
我不相信這是最好的方法,但是一種可行的方法是在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;
}
顯然,您還需要在編程創建的ToolStripMenuItem上連接事件處理程序。
你似乎試圖用“CMS.ForeColor = Color.Black”改變整個ContextMenuStrip的ForeColor,這不是你想要的。 嘗試以上,它確實有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.