2020/05/16
Custom Command项目中的Form如何使用WriteStatusBarMsg
我们开发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