Dot-Net
Winforms MenuStrip 帶下劃線的熱鍵字母
通常,MenuStrip 上的熱鍵字母帶有下劃線。(&File、&Open 等)在我正在處理的項目中,下劃線會顯示在設計器中,但不會在執行時顯示。我找不到控制它的屬性。外面有人知道嗎?
在 Windows 中,有一個是否顯示下劃線的設置。要更改設置,
- 右鍵點擊桌面
- 選擇“屬性”
- 點擊“外觀”選項卡
- 點擊“效果”按鈕
- 取消選中標有“隱藏帶下劃線的字母以進行鍵盤導航”的框
您可以通過創建自定義 ToolStrip 渲染器來強制使用者查看下劃線。我花了很長時間才弄清楚如何繞過克里斯的回答。這是我創建的渲染器:
using System; using System.Drawing; using System.Windows.Forms; namespace YourNameSpace { class CustomMenuStripRenderer : ToolStripProfessionalRenderer { public CustomMenuStripRenderer() : base() { } public CustomMenuStripRenderer(ProfessionalColorTable table) : base(table) { } protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { e.TextFormat &= ~TextFormatFlags.HidePrefix; base.OnRenderItemText(e); } } }然後在帶有 MenuStrip 的表單中,在建構子中設置渲染器:
public YourFormConstructor() { InitializeComponents(); menuStripName.Renderer = new CustomMenuStripRenderer(); }我想指出,如果您更喜歡系統風格的渲染外觀,您可以擴展 ToolStripSystemRenderer 類而不是 Professional,但我喜歡能夠自定義顏色表。這是不需要客戶端更改其電腦設置的修復程序。享受!