我正在实现一个继承自Button
的自定义System.Windows.Forms.Button
类,我会对按钮进行自定义绘制,包括按钮文本。我想为我的按钮支持加速键(热键)。
小解释:在标准按钮中,按下ALT键时,加速器字符带下划线:
button.Text = "&Capture screen";
当您在应用程序中按 ALT键时,该按钮会突出显示“C”字符。
因此,当我绘制按钮文本时,我需要知道加速器下划线是否处于活动状态,以便绘制带下划线的文本。
提前致谢。
答案 0 :(得分:1)
如果要检测是否在按钮的Paint事件处理程序中按下了Alt键,则检查表单的ModifierKeys属性:
private void button1_Paint(object sender, PaintEventArgs e)
{
if (ModifierKeys == Keys.Alt)
button1.Text = "Alt Pressed - " + button1.Text;
}