我有一个带有开始按钮的表单(允许用户根据需要反复运行进程),并且我想btnStart.Click
在表单加载时发送一个事件,以便进程自动启动。
我有以下btnStart.Click
事件功能,但我如何真正告诉 Visual Basic '假装有人点击了按钮并触发此事件'?
我试过很简单,这基本上是有效的。但是,Visual Studio 给了我一个警告Variable 'sender' is used before it has been assigned a value
,所以我猜这不是真正的方法:
Dim sender As Object
btnStart_Click(sender, New EventArgs())
我也尝试过使用RaiseEvent btnStart.Click
,但这会出现以下错误:
'btnStart' 不是 'MyProject.MyFormClass 的事件
代码
Imports System.ComponentModel
Partial Public Class frmProgress
Private bw As BackgroundWorker = New BackgroundWorker
Public Sub New()
InitializeComponent()
' Set up the BackgroundWorker
bw.WorkerReportsProgress = True
bw.WorkerSupportsCancellation = True
AddHandler bw.DoWork, AddressOf bw_DoWork
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
' Fire the 'btnStart.click' event when the form loads
Dim sender As Object
btnStart_Click(sender, New EventArgs())
End Sub
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
If Not bw.IsBusy = True Then
' Enable the 'More >>' button on the form, as there will now be details for users to view
Me.btnMore.Enabled = True
' Update the form control settings so that they correctly formatted when the processing starts
set_form_on_start()
bw.RunWorkerAsync()
End If
End Sub
' Other functions exist here
End Class