簡體   English   中英

有沒有辦法讓 c# Winforms 應用程序 F1 鍵導航到網站而不是 chm 文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM