是的,与标题完全相同,在我的项目中,一些工具条菜单项被禁用。但是当我将光标移到菜单项上时,会出现一个蓝色边框,如下所示:
但我不想要这个。我想要这样:
你能帮我吗,我如何防止这个蓝色边框?
user1372430
问问题
2102 次
2 回答
11
您应该创建一个自定义ToolStripRenderer
,看看这个 - How to: Set the ToolStrip Renderer for an Application
您必须像这样创建自定义渲染器:
class CutomToolStripMenuRenderer : ToolStripProfessionalRenderer { protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { if (e.Item.Enabled) base.OnRenderMenuItemBackground(e); } protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { if (e.Item.Enabled) base.OnRenderMenuItemBackground(e); } }
然后将此渲染器设置为您的菜单条:
menuStrip1.Renderer = new CustomToolStripRenderer();
于 2012-11-13T17:26:51.653 回答
0
通过在ToolStripMenuItem和作为ToolStripLabel的项目副本之间切换,我可以更好地控制我的“已禁用”菜单项。然后,我没有设置 Enabled = false,而是在两者之间切换可见性。这样我可以为“禁用”菜单项(标签)设置自定义前景色。
bool m_isStartSvcEnabled = true;
void ToggleServiceEnabled()
{
m_isStartSvcEnabled = !m_isStartSvcEnabled;
mnuStartSvc.Visible = m_isStartSvcEnabled;
lblStartSvc.Visible = !m_isStartSvcEnabled;
mnuStopSvc.Visible = !m_isStartSvcEnabled;
lblStopSvc.Visible = m_isStartSvcEnabled;
}
(我在创建项目时定义的标签的白色菜单前景色和浅灰色前景色。)
于 2018-06-15T15:52:34.133 回答