4

私はそれをグーグルで検索しましたが、空になりました。そして最悪のことは、それが可能であることを私が知っているということです。

とにかく、私はWebBrowserコントロールを使用してオブジェクトに関する情報を表示するアプリケーションを開発しています(Outlookが[ルールとアラート]ダイアログボックスで行うように)。

WebBrowser私の質問は、Windowsフォーム内のいくつかの関数を実行する際のハイパーリンクをクリックするにはどうすればよいですか?

たとえば、このようなリンクがあり、それをクリックすると、Outlookが次のようなハイパーリンクをクリックしたときのように、アプリケーションに特定のフォームを表示させたいとします。People and Distribution List

4

2 に答える 2

9

これは便利に見えます:方法:DHTMLコードとクライアントアプリケーションコード間の双方向通信を実装する

于 2009-05-19T01:21:15.293 に答える
8

ChrisWの答えは機能しますが、ハイパーリンクだけに依存している場合は別の方法があります。

コミスターでは、WebBrowserコントロールにのようなリンクがあります。

<a href="action:FileNew">New Collection</a>

次に、WebBrowserのNavigatingイベントで、ユーザーが「action:」リンクに移動してインターセプトしようとしたかどうかを確認するコードがあります。

private void webBrowser1_Navigating(object sender,
    WebBrowserNavigatingEventArgs e)
{
    if (e.Url.Scheme == "action")
    {
        e.Cancel = true;

        string actionName = e.Url.LocalPath;
        // do stuff when actionName == "FileNew" etc
    }
}

少しのコードで、URLパラメーターを解析して、ホストアプリケーションのアクションに「パススルー」することもできるので、次のようなことができます。

<a href="action:EditIssue?ID=1">Edit this issue</a>

...ID1の問題のプロパティダイアログが開きます。

于 2009-05-19T01:27:34.437 に答える