我在自定义按钮中使用以下代码在被覆盖的OnPaint
事件中绘制文本:
// ...
Point TextPoint = new Point(2, 2);
StringFormat format = new StringFormat();
format.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.Show;
e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), TextPoint, format);
// ...
这很好用甚至尊重&
热键。但是,通常显示在热键下方的下划线(例如C&ancel
将变为Ca̲ncel
),通常仅在用户按下 Alt 键时显示,现在始终显示所示。
只有当用户在默认的.NET按钮(System.Windows.Forms.Button
)上按 Alt 时,我才能以下划线方式显示下划线吗?