[英]Is there a way to make a c# Winforms app F1 key navigate to a website instead of a chm file?
我正在嘗試找到一種方法讓我的 Winforms 應用程序在按 F1 時打開網頁。 目前,Microsoft 默認的 class HelpProvider 嘗試打開 CHM 或 html 文件,由於它使用 static 方法,因此無法覆蓋它。 我找不到攔截 HelpProvider 的 F1 命令的方法,只能使用我自己的方法,或者覆蓋 HelpProvider 以指向實時網頁的方法。 任何幫助將不勝感激。
也許這可以幫助你,這很簡單。 假設我們的表單上只有 1 個文本框。 此文本框應包含要打開的 URL。 在這種情況下,我們有 2 個組件,我們必須在其中訂閱 KeyDown 事件(取決於實際焦點所在的位置):Form 和 TextBox。
private void MyCustom_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F1)
{
System.Diagnostics.Process.Start(textBox1.Text);
}
}
現在你應該在你的表單構造函數中用兩個組件訂閱這個事件:
public Form1()
{
InitializeComponent();
textBox1.KeyDown += MyCustom_KeyDown;
this.KeyDown += MyCustom_KeyDown;
}
現在,如果您在文本框中輸入任何 URL 並立即按 F1(因此焦點在文本框上)或輸入 URL,單擊文本框外的表單(因此焦點在表單上),它將打開URL 使用默認瀏覽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.