如何将所需弹出窗口的URL解析为弹出窗体并在WebKit-Component中显示提示/工具提示?

时间:2012-04-11 17:12:29

标签: vb.net visual-studio-2008 webkit popup hints

我正在尝试在Visual Studio 2008的帮助下在VB中使用WebKit组件(http://www.webkit.org/)。

除了以下两个问题外,这种情况没有问题: 1.未显示提示/工具提示(例如,如果您将鼠标停留在Google徽标上,通常会显示一个提示/工具提示) 2.如果有弹出窗口,我不知道如何获得新的所需URL。

我已经在这个问题上工作了几天,但还没找到任何解决方案:(

也许你知道这个问题的解决方案。

干杯 Markus G.

P.S。:如果您需要的不仅仅是以下源代码来分析问题,那么请告诉我......

源代码Form1

Imports System.IO
Imports WebKit

Public Class frmMain

  Private _url As String
  Private _mode As String
  Private _popupUrl As String


  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    On Error Resume Next
    Dim bLogging As Boolean

    setWindowAndBrowserSettings()

    _url = "http://www.google.com"
    browserComp.Navigate(_url)
  End Sub

  Private Sub setWindowAndBrowserSettings()
    Me.Text = "Test - Browser"
    Me.WindowState = FormWindowState.Maximized
    browserComp.Dock = DockStyle.Fill
    browserComp.Visible = True
  End Sub

  Private Sub browserComp_NewWindowCreated(ByVal sender As Object, ByVal e As WebKit.NewWindowCreatedEventArgs) Handles browserComp.NewWindowCreated
    'frmPopup.WindowState = FormWindowState.Maximized
    frmPopup.Text = "ixserv - POPUP"
    frmPopup.popup.Navigate(_popupUrl)
    frmPopup.Show()
  End Sub

  Private Sub browserComp_NewWindowRequest(ByVal sender As Object, ByVal e As WebKit.NewWindowRequestEventArgs) Handles browserComp.NewWindowRequest
    e.Cancel = False
    _popupUrl = browserComp.Url.ToString  ' WHERE can I get the clicked URL? This is the old one of the remaining window
  End Sub
End Class

Code Form2

Public Class frmPopup

End Class

1 个答案:

答案 0 :(得分:0)

以下popup / new-Window-Create-function对我有用:

Private Sub browserComp_NewWindowCreated(ByVal sender As Object, ByVal e As WebKit.NewWindowCreatedEventArgs) Handles browserComp.NewWindowCreated
    frmPopup.Text = "POPUP"
    Dim popupBrowser As WebKit.WebKitBrowser
    popupBrowser = e.WebKitBrowser
    frmPopup.Controls.Add(popupBrowser)
    frmPopup.Show()
End Sub

而frmPopup是一种新形式。

在我尝试这个之前,我已经将Webkit组件添加到新表单中,这可能是问题所在。我假设,诀窍是,创建一个直接连接到参数WebKitBrower的新e.WebkitBrowser - 元素,而不是重载表单中现有的webkitbrowser组件。现在不要问我这个原因(我真的不知道):P

哦,我应该补充说我使用了Webkit.NET组件。同样的技巧也适用于OpenWebkitSharp-wrapper

提示问题仍然存在......