我不明白为什么按 F1 键后我没有收到帮助消息。例如,当在 Windows 窗体上时,我得到一个按钮并且它具有焦点,消息按预期显示(按 F1 后),但是当我得到一个空窗体时,这不会发生。我想默认情况下,一个空表单将设置焦点。(我读到这个事件将在按下 F1 以获得焦点的控件后引发)
这是正确的行为,还是我遗漏了空表单上的“HelpRequested”事件?这是基于焦点引发事件的正确方法,还是可以将其配置为在另一个事件(类似于 onMouseOver)上引发?我可以创建自己的活动并提出吗?(我不想只为帮助添加特殊按钮,例如按下此按钮并显示帮助,帮助应仅在按下 F1 后显示)。
这是代码:
private void Form1_Load(object sender, EventArgs e)
{
Form1.ActiveForm.HelpRequested += new HelpEventHandler(helpReq);
//button1.HelpRequested += new HelpEventHandler(helpReq);
}
private void helpReq(object sender, HelpEventArgs hlpevent)
{
MessageBox.Show(((Control)sender).Text);
}