Webbrowserコントロールで新しいウィンドウを開かせないようにするには?

解決


Mura  2003-04-11 01:34:23  No: 77657

Webbrowsrコントロールを使ったのですが新しいウィンドウで開くリンク先の時に
IE(標準のブラウザ)で開かれてしまいます。
これを同じウィンドウで開くことはできないのでしょうか?
もしくは開けないように。

お願いいたします。

ついでなのですがjava?で閉じるというボタンがありそこを押すとブラウザが閉じる
ページがあるのですがそれで閉じてしまうとWebbrowserコンポーネントが消えてしまいます。
これを回避する方法はない物でしょうか?


魔界の仮面弁士  2003-04-11 04:30:35  No: 77658

> これを同じウィンドウで開くことはできないのでしょうか?
> もしくは開けないように。

NewWindow2イベントを利用する事ができます。

Option Explicit

Private Sub Form_Load()
    WebBrowser2.Visible = False
End Sub

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
    Select Case MsgBox("新しいウィンドウで開きますか?", vbYesNoCancel Or vbQuestion)
     Case vbCancel
        Cancel = True
     Case vbNo
        Cancel = False
        Set ppDisp = WebBrowser2.Object
     Case vbYes
        Cancel = False
        Set ppDisp = Nothing
    End Select
End Sub

Private Sub WebBrowser2_BeforeNavigate2(ByVal pDisp As Object, URL, Flags, TargetFrameName, PostData, Headers, Cancel As Boolean)
    Cancel = True
    WebBrowser1.Navigate2 URL, Flags
End Sub

> ついでなのですがjava?で閉じるというボタンがあり
JScriptですね。

> それで閉じてしまうとWebbrowserコンポーネントが消えてしまいます。

WindowClosingイベントを利用してみてください。(バージョン5.5以上)

Private Sub WebBrowser1_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
    Cancel = True
End Sub


Mura  2003-04-11 19:44:16  No: 77659

うまくいきました。ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加