调用不在VS2008上工作

时间:2014-08-23 22:05:18

标签: vb.net visual-studio visual-studio-2008 visual-studio-2013 invoke

所以我有这行代码:

Invoke(Sub()pt = PictureBox1.PointToScreen(bounds.Location))

我能够在没有错误的情况下在VS2013上使用它但是当我转移到VS2008时出现了“预期表达式”的错误。有没有办法在VS2008中使用此代码?因为我不知道如何使用代表。

1 个答案:

答案 0 :(得分:2)

在VS2010之前,无法在lambda表达式中使用Sub。合乎逻辑的选择是:

    Dim pt As Point = DirectCast(Me.Invoke(Function() PictureBox1.PointToScreen(Bounds.Location)), Point)

实际上它优于原始版本,因为它不必捕获任何变量。