【问题标题】:How to create a non-selectable context menu item?如何创建不可选择的上下文菜单项?
【发布时间】:2014-10-23 11:44:17
【问题描述】:

我有一个简单的上下文菜单。我想给它添加一个title item,它不能被选中,甚至不能用鼠标光标突出显示。当我设置Enabled = false; 时,我仍然可以标记它,感觉很愚蠢,因为它显然被禁用并且文本是灰色的。


示例:

像这样。我无法标记或选择“菜单”项。它绝不能是蓝色的。所以我想在我的 C# 应用程序中使用它。简单,没有样式。


测试代码:
public Form1()
{
    ContextMenuStrip = new ContextMenuStrip();
    ContextMenuStrip.Font = new Font("Arial", 8);
    ToolStripItem a = ContextMenuStrip.Items.Add("--- Title ---");
    a.Enabled = false;
    a.Font = new Font("Consolas", 16, FontStyle.Bold | FontStyle.Italic);
    ContextMenuStrip.Items.Add("Alice");
    ContextMenuStrip.Items.Add("Bob");
    ContextMenuStrip.Items.Add("Conrad");
}

【问题讨论】:

  • 现在对您来说可能为时已晚,但我建议您放弃 winforms 并使用 WPF,您可以完全控制此类事情。

标签: c# winforms controls contextmenu


【解决方案1】:

我想你想在你的片段中添加一个ToolStripLabel 项目,如下所示:

ContextMenuStrip.Items.Insert(0, new ToolStripLabel("--- Title ---"));

这应该添加一个用作标记的标签,并且当鼠标移到它上面时不应该显示任何内容。

(有一个类似的答案here,涵盖了同一点。)

【讨论】:

  • 很好。我只是不能用 BackColor 来风格化它:(
猜你喜欢
  • 1970-01-01
  • 2020-08-04
  • 2023-03-14
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多