相关疑难解决方法(0)

触发自定义类事件后,表单不会更新

我遇到了一个问题,即使我看到事件发生了,我的主表单也没有更新.让我解释一下这种情况并分享我的一些代码,因为我是业余爱好者,我肯定会很恐怖.

我创建了一个类来接受在后台运行进程的设置.我在该类中添加了一些自定义事件,因此我可以在我的表单中使用它而不是计时器.

我在那两个事件上休息了处理这些事件,我看到它们在安装开始后立即启动.

我查看数据并且它正在发生并且没有抛出任何异常.

起初我以为是因为datagridview有一些延迟问题.我通过我发现的一些技巧将其设置为双缓冲,但这并不重要.在数据网格中出现数据之前,仍有大约10秒的延迟.

我考虑过它并决定我真的不需要datagridview并用多行文本框替换控件,但它并没有什么区别.显示表单/文本框的更新仍需要10秒或更长时间.

我在下面提供了一些代码.

Public Shared WithEvents np As NewProcess
Run Code Online (Sandbox Code Playgroud)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            np = New NewProcess
            AddHandler np.InstallFinished, AddressOf np_InstallFinished
            AddHandler np.InstallStarted, AddressOf np_InstallStarted
        Catch ex As Exception

        End Try

    End Sub
Run Code Online (Sandbox Code Playgroud)
Protected Sub np_InstallFinished(ByVal Description As String, ByVal ExitCode As Integer)
    InstallInProcess = False

    If Not Description = Nothing Then
        If Not ExitCode = Nothing Then
            AddLog(String.Format("Completed install of {0} ({1}).", Description, ExitCode))
        Else
            AddLog(String.Format("Completed …
Run Code Online (Sandbox Code Playgroud)

vb.net multithreading class process event-handling

2
推荐指数
1
解决办法
3505
查看次数

标签 统计

class ×1

event-handling ×1

multithreading ×1

process ×1

vb.net ×1