F1 キーを押した後にヘルプ メッセージが表示されなかった理由がわかりません。Windowsフォームでたとえば1つのボタンを取得し、フォーカスがある場合、(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);
}