【问题标题】:Invoke not working on VS2008调用在 VS2008 上不起作用
【发布时间】:2014-10-17 11:23:36
【问题描述】:

所以我有这行代码:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2015-03-15
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多