2011-08-03 18 views
4

C#デリゲートをVB.NETに変換する際に問題があります。代理人をc#からvb.netに変換する

どうすればいいですか?

public MainForm() 
    { 
     InitializeComponent(); 

     _twain = new Twain(new WinFormsWindowMessageHook(this)); 
     _twain.TransferImage += delegate(Object sender, TransferImageEventArgs args) 
     { 
      if (args.Image != null) 
      { 
       pictureBox1.Image = args.Image; 

       widthLabel.Text = "Width: " + pictureBox1.Image.Width; 
       heightLabel.Text = "Height: " + pictureBox1.Image.Height; 
      } 
     }; 
     _twain.ScanningComplete += delegate 
     { 
      Enabled = true; 
     }; 
    } 
+2

対象とするVB.Netのバージョンは? – Nico

+0

@nico vb.net 2008 – EvanBlack

答えて

4

どちらも、これらのメソッドのコンストラクタ自体で任意のコンテキストを使用するように見えるので、私は(簡単です)あなたのVBのコードで「正常な」方法に各匿名メソッドを変換し、その後のようなものを使用します

AddHandler _twain.TransferImage, AddressOf(TransferImageHandler) 
AddHandler _twain.ScanningComplete, AddressOf(ScanningCompleteHandler) 

これらのメソッドは、処理しているイベントと同じシグネチャを持つ必要があります。

+0

ありがとう!それが私が探していたものでした。 – EvanBlack

関連する問題