【问题标题】:WPF background worker not recognizing worker objectWPF后台工作人员无法识别工作人员对象
【发布时间】:2009-03-11 17:06:06
【问题描述】:

我有以下代码将后台工作人员添加到 VB.net WPF 项目中:

Imports System
Imports System.ComponentModel
Imports System.ComponentModel.BackgroundWorker
Imports System.IO
Imports System.Threading
Imports System.Net
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Navigation
Imports System.ServiceProcess
Partial Public Class Window1
Public Sub New()
    MyBase.New()
    Me.InitializeComponent()
    End Sub
End Class
Public Class Window1
Dim worker As New BackgroundWorker
Private Sub worker_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.BackgroundWorker) Handles worker.DoWork

   End Sub
End Class

DoWork 工作人员事件出现以下错误:

Handles 子句需要在包含类型或其基类型之一中定义的 WithEvents 变量。

似乎在事件声明中缺少某些内容,但找不到。

有什么想法吗?

【问题讨论】:

    标签: wpf vb.net backgroundworker


    【解决方案1】:

    DoWork 事件的签名看起来很时髦 - 不应该是 (Object, DoWorkEventArgs)。

    你有(对象,BackgroundWorker)

    【讨论】:

    • 那个确实有效。非常感谢。我会看看其余的代码现在是否有响应。谢谢!
    【解决方案2】:

    在声明新的后台工作程序时尝试添加“WithEvents”。下面是来自 Windows 窗体设计器生成的代码的我的一个后台工作对象的代码的 sn-p:

    Friend WithEvents bWorker As System.ComponentModel.BackgroundWorker
    

    如果这有帮助,请告诉我!

    【讨论】:

    • 我现在得到一个不同的错误:>方法无法处理事件'公共事件 DoWork,因为它们没有兼容的签名。有什么想法吗?
    【解决方案3】:

    尝试替换

    Dim worker As New BackgroundWorker
    

    Private WithEvents worker As New BackgroundWorker
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      相关资源
      最近更新 更多