所以我有这行代码:
Invoke(Sub()pt = PictureBox1.PointToScreen(bounds.Location))
我能够在没有错误的情况下在VS2013上使用它但是当我转移到VS2008时出现了“预期表达式”的错误。有没有办法在VS2008中使用此代码?因为我不知道如何使用代表。
答案 0 :(得分:2)
在VS2010之前,无法在lambda表达式中使用Sub
。合乎逻辑的选择是:
Dim pt As Point = DirectCast(Me.Invoke(Function() PictureBox1.PointToScreen(Bounds.Location)), Point)
实际上它优于原始版本,因为它不必捕获任何变量。