我在将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;
};
}
答案 0 :(得分:4)
这些方法似乎都没有在构造函数本身中使用任何上下文,所以我会将每个匿名方法转换为VB代码中的“普通”方法(应该很简单),然后在构造函数中使用这样的方法:
AddHandler _twain.TransferImage, AddressOf(TransferImageHandler)
AddHandler _twain.ScanningComplete, AddressOf(ScanningCompleteHandler)
这些方法应该与他们正在处理的事件具有相同的签名。