WP7 WebBrowser コントロールを使用しています。このページにはハイパーリンクがあります。このリンクは Web サービスからのものです。アプリケーションのコード ビハインド (つまり C#) でそのハイパーリンクのクリック イベントを処理したい。そして、このハイパーリンクのクリック イベントに別の Web ブラウザ コントロールを表示したい。
WebBrowser コントロールがクリック イベントを処理する方法はありますか?
WP7 WebBrowser コントロールを使用しています。このページにはハイパーリンクがあります。このリンクは Web サービスからのものです。アプリケーションのコード ビハインド (つまり C#) でそのハイパーリンクのクリック イベントを処理したい。そして、このハイパーリンクのクリック イベントに別の Web ブラウザ コントロールを表示したい。
WebBrowser コントロールがクリック イベントを処理する方法はありますか?
私があなたを理解していれば、最初の WB コントロール (これを WB1 と呼びます) で onClick イベントをインターセプトし、別の WB コントロール (これを WB2 と呼びます) で (ハイパーリンクがクリックされたときに) そのページを開きたいですか?
これを行う方法はいくつかありますが、このリンクは新しいウィンドウで開くように設定されていますか? その場合、WB1 の NewWindow2 イベントをインターセプトし、WB1 の NewWindow2 イベントで次のコードを実行できます...
Set pDisp = WB2.object
(pDisp ではなく ppDisp の場合もありますが、イベントが自動生成されたときに表示されます。引数リストに表示されるオブジェクト名を選択してください)。
それ以外の場合は、WB1 イベントの BeforeNavigate2 イベント中にこのリクエストをインターセプトし、関心のあるリンクであるかどうか URL プロパティを確認し、そうである場合は、現在のリクエストをキャンセルして、以下のように新しいリクエストを再発行します... ( WB1 BN2 イベント)...
Cancel = True ' This cancels the request
WB2.Navigate2 URL, , "YourWB2sDocumentNameOrTargetFrameNameGoesHere"
コードの 2 行目は、要求を再発行するだけです。
もちろん、YourWB2sDocumentNameOrTargetFrameNameGoesHere は TargetFrameName (または WB2 コントロール/ウィンドウ内の最上位ドキュメント、または任意の iframe のフレームまたはドキュメント名) です。これは通常、BODY タグの name= プロパティにあります。 WB2 の最上位ドキュメントを親にするには、これを行うだけです...
Cancel = True
WB2.Navigate2 URL
WB2 を参照することで、WB1 リクエストをキャンセルした後、同じ URL リクエストを WB2 ウィンドウに送信するだけです。
さらに助けが必要な場合はお知らせください。