【C#】WebBrowserでリンクをクリックしたときにIEなどの他のブラウザが立ち上がるのを防ぐ

公開日: : 最終更新日:2014/08/14 .NET

スポンサーリンク

C#でWebBrowserでブラウザ機能などを作って、リンクを踏んだ時に他の標準のブラウザが開いてしまうということがあります。

そういうときには「NewWindow」というイベントが発生しているようです。なので、そのときに他のブラウザで開くようにしなくするとよいです。

//新しいウィンドウを開こうとしたら
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
	WebBrowser wb = (WebBrowser)sender;
	string txt = wb.StatusText;
	if (txt != "")
	{
		//開こうとしていたページに移る
		webBrowser1.Navigate(txt);
	}
	//ここで標準ブラウザで開くのをキャンセルしている
	e.Cancel = true;
}

「e.Cancel=true」にすると他のブラウザは開かなくなりますが、何も起きなくなります。そこで、上の例ではWebbrowserのNavigateメソッドを使って開こうとしたページにそのまま飛びます。

この場合は画面が一つ固定ですが、ここのイベントでタブとWebBrowserを動的に複製すれば通常のブラウザのような動作を再現できると思います。この場合タブはあらかじめ用意しておいて「追加」すればできます。

スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

フォームアプリケーションで使えそうなアイコン

VisualStudioなどでフォームアプリケーションを作成するときに役に立ちそうなアイコン素材の情

記事を読む

【C++/CLI】フォームアプリケーションでコンソール画面を出現させる

プロジェクトのプロパティを開いて「構成プロパティ」→「リンカ」→「システム」の「サブシステム」を「コ

記事を読む

【C#(.NET)】画像などのファイルをダウンロードして保存する

WebClientクラスを使ってファイルをダウンロードする System.Net空間にあるWebC

記事を読む

【C# .NET】DataGridViewのコンボボックスの中身を動的に変更・追加する

データグリッドビューのコンボボックスの中身を変えるときの一番簡単な方法です。おそらく通常だとデータ配

記事を読む

no image

【C# .NET】エラー CS0051: アクセシビリティに一貫性がありません。

クラスなどの宣言時にpublicなどが付いていないために起こっているみたいです。 アクセス制限

記事を読む

コンソールアプリケーションでC++/CLIの関数を使う

今時(?)なかなか使っている人がいるかどうかわかりませんが、VisualStudio(2008)で「

記事を読む

【C#】データグリッドビュー上で右クリックしたときに位置に応じてコンテキストメニューの中身を変更したい

DataGridView上でクリックした位置によってコンテキストメニューの内容を変えたいと思ったので

記事を読む

【.NET】BitmapのGetPixelで画素値が取得できない??

C++/CLI、C#、VBなどで用いられるBitmapを使っていたところGetPixelで画素値を取

記事を読む

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

【PHP】headerでContent-Typeを指定したのに効かない場合の対処法

PHPでサイトマップを作ろうと思い、XML形式のファイルを出力しようと

スマホ向け幅固定サイトの回転時の幅対応方法

幅固定サイトでのスマホ回転時Webサイトの横幅を合わせる方法のメモ。

【PHP】特定のURLからそのAtomやRSSのフィードを抽出する方法

特定のURLからRSSやATOMのフィードを抽出する方法をメモ。 流

フィード抽出ツール(RSS1.0、RSS2.0、atom)

任意URL サイト名 サイトURL RSS1.0

格安プラン限定レンタルサーバー機能比較表(2016年)

はじめに  最近新しい共用サーバーをレンタルしようと思い調査およびそ

kindle unlimitedが便利だったのでお勧めの使い方など感想メモ

 kindle unlimitedというサービスが8/3からAmazo

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑