我在 WinForms 表单上使用选项卡条控件。我尽可能地使用键盘加速器。当我将 TabPage 的 Text 属性设置为 eg&Documents
时,选项卡上的文本是字面上的,而不是带下划线&Documents
的字母D。
关于 TabStrip 和 TabPage 的帮助不涉及该主题。该属性ShowKeyboardCues
是只读的。谷歌很无奈。
谁能给我一个提示如何显示加速器?
我在 WinForms 表单上使用选项卡条控件。我尽可能地使用键盘加速器。当我将 TabPage 的 Text 属性设置为 eg&Documents
时,选项卡上的文本是字面上的,而不是带下划线&Documents
的字母D。
关于 TabStrip 和 TabPage 的帮助不涉及该主题。该属性ShowKeyboardCues
是只读的。谷歌很无奈。
谁能给我一个提示如何显示加速器?
如何为 Windows 窗体 TabControl 设置键盘快捷键?提供有关为其设置键盘快捷键的提示。尽管在显示加速器方面,您必须自己绘制它们
将 tabControl 的 DrawMode 设置为 OwnerDrawFixed 然后做一些代码来绘制标签,例如(我不得不努力让它变得如此丑陋)
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
//Change appearance of tabcontrol
Brush backBrush = Brushes.Red;
Brush foreBrush = Brushes.Blue;
e.Graphics.FillRectangle(backBrush, e.Bounds);
Rectangle r = e.Bounds;
r = new Rectangle(r.X, r.Y + 3, r.Width, r.Height - 3);
e.Graphics.DrawString("my label", e.Font, foreBrush, r);
var sz = e.Graphics.MeasureString("my ", e.Font);
e.Graphics.DrawString("_", Font, foreBrush, r.X + sz.Width - 2, r.Y + 2);
}
开个玩笑,设置一些难看的颜色确实可以帮助您查看绘图区域的边界等。我相信您会搞砸的..
这些控件都不支持该功能。可以模拟它,但这是一项漫长而复杂的任务,我不建议这样做,因为它是非标准功能。因此,任何人都不太可能期望它发生。另一方面,使用 Ctrl+Tab 更改选项卡是标准行为,因此已被自动支持。
如果您确实想这样做,则需要:
正如我所说,我不建议这样做,因为这不是该控件的正常行为,并且因为复杂性意味着它可能是错误的。但有可能...