2020/05/16

Custom Command项目中的Form如何使用WriteStatusBarMsg

作者 Leon

我们开发Command的时候可以使用BaseCommand.WriteStatusBarMsg(” “)来改变3D中的StatusBar显示状态。但是在Command中我们很多时候会使用到Form,Form里面的各种事件如果也想在3D的StatusBar更新状态,是无法直接使用WriteStatusBarMsg方法的。这时候按照下面思路可以实现。

1.在Form类头定义一个公共事件

Public Class frmRun
    Inherits System.Windows.Forms.Form
    Public Event WriteStatusBar()

2.在Form的某个需要更新StatusBar状态的事件中RaiseEvent该事件

Private Sub btnExcute_Click(sender As Object, e As EventArgs) Handles btnExcute.Click
        RaiseEvent WriteStatusBar()

3.在CMD主代码中的类头使用WithEvent定义该Form对象

Public Class DuctThk
    Inherits BaseGraphicCommand
    Private m_oModel As Model
    Private WithEvents m_ofrmRun As frmRun = Nothing

4.在CMD代码中定义一个方法来处理该Form对象中的该事件

Public Sub WriteStatusBarFromForm() Handles m_ofrmRun.WriteStatusBar
    WriteStatusBarMsg("测试中...")
End Sub

0 0 投票数
文章评分