2012-02-23 19 views
0

xlsファイルをWindowsフォームアプリケーションに埋め込んだ作業用C#クラスをvbに変換しました。C#からVBエラーへの変換

から:

this.WebBrowserExcel.Navigated+=new System.Windows.Forms.WebBrowserNavigatedEventHandler(this.OnWebBrowserExcelNavigated);

へ:

Me.WebBrowserExcel.Navigate += New System.Windows.Forms.WebBrowserNavigatedEventHandler(AddressOf Me.OnWebBrowserExcelNavigated)

次の行で

"Overload resolution Failed because no accessible'Navigate' accepts this number of arguments"

は、私はエラーを取得しています

私も試してみました:

Me.WebBrowserExcel.Navigate += New System.Windows.Forms.WebBrowserNavigatedEventHandler(Me.OnWebBrowserExcelNavigated)

をしかし、私はエラーを取得:

Error 13 Delegate 'System.Windows.Forms.WebBrowserNavigatedEventHandler' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor.

任意のアイデア?

ありがとうございます。

答えて

5

C#のdelegate +=の直接の翻訳はVBでAddHandler次のとおりです。

また
AddHandler Me.WebBrowserExcel.Navigated, AddressOf Me.OnWebBrowserExcelNavigated 

、あなたはVB.NETの道それを行うとWithEvents and the Handles Clauseを使用することができます。

Function OnWebBrowserExcelNavigated(...) Handles WebBrowserExcel.Navigate 
    ... 
End Function 
+0

Me.WebBrowserExcel.Navigateは、私はAddHandler命令を置くことができないので、ハンドラではありません。 Me.WebBrowserExcel.Navigatedはハンドラです。クラスはナビゲートしたものではなく、ナビゲートしたものを使用していました。 – reven

+0

私はaddhandlerでWebBrowserExcel.Navigatedを使用していました。ありがとう!!! – reven

+0

@HansPassant:タイポを修正してくれてありがとう! – Heinzi

2

あなたがイベントを処理する場合vbnetでは、AddHandlerを使用してください。

AddHandler Me.WebBrowserExcel.Navigate, AddressOf Me.OnWebBrowserExcelNavigated 

またはこの例を見てみましょう:

はこれを試してみてください

Public Class RoutedEventAddRemoveHandler 

    Private Sub MakeButton(ByVal sender As Object, ByVal e As RoutedEventArgs) 
     Dim b2 As Button = New Button() 
     b2.Content = "New Button" 
     AddHandler b2.Click, AddressOf Onb2Click 
     root.Children.Insert(root.Children.Count, b2) 
     DockPanel.SetDock(b2, Dock.Top) 
     text1.Text = "Now click the second button..." 
     b1.IsEnabled = False 
    End Sub 

    Private Sub Onb2Click(ByVal sender As Object, ByVal e As RoutedEventArgs) 
     text1.Text = "New Button (b2) Was Clicked!!" 
    End Sub 
End Class 
+0

上記のようにナビゲートするのと同じコメント... – reven

+0

ok私はaddhandlerでWebBrowserExcel.Navigatedを使用して作業しました。ありがとう!!! – reven

関連する問題