C# アプリケーションから既定のブラウザーで URL を開く
C# 開発者は、多くの場合、ユーザーのデフォルトのブラウザを使用して Web リンクを開く必要があります。 ただし、多くの場合、組み込みの WebBrowser
コントロールは、システム設定に関係なく、デフォルトで Internet Explorer になります。 この記事では、この制限を克服するためのソリューションについて概説します。
問題: WebBrowser
コントロールの IE 依存関係
C# の WebBrowser
コントロールは、本質的には埋め込み Internet Explorer インスタンスです。 別のブラウザがデフォルトとして設定されている場合でも、その中でクリックされたリンクは IE で開きます。
解決策: URL を外部から起動する
デフォルトのブラウザで URL を起動するには、主に 2 つのアプローチがあります。
方法 1: System.Diagnostics.Process.Start
この簡単なメソッドは、.NET Framework アプリケーションに適しており、Process.Start
メソッドを利用して新しいプロセスを起動し、システムのデフォルトのブラウザで URL を開きます。
<code class="language-csharp">System.Diagnostics.Process.Start("http://google.com");</code>
方法 2: ナビゲーション イベントをインターセプトする
このアプローチには、Navigating
コントロールの WebBrowser
イベントの処理が含まれます。 これにより、リンクのクリックを傍受し、外部から開くことができます。
<code class="language-csharp">private void WebBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e) { System.Diagnostics.Process.Start(e.Url.ToString()); e.Cancel = true; // Prevent the WebBrowser control from also opening the link }</code>
ここでは、Navigating
イベントがサブスクライブされています。 リンクがクリックされると、イベント ハンドラーはデフォルトのブラウザで URL を起動し、WebBrowser
.e.Cancel = true;
を使用して
いずれかの方法を採用することで、C# 開発者は、WebBrowser
コントロールの固有の制限に関係なく、ユーザーの好みのデフォルト ブラウザで Web リンクを確実に開くことができます。
以上がC# からデフォルトのブラウザーで Web ページを開くにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。