将值从应用程序事件传递到窗体(该应用程序的此窗体启动事件)VB.net

将值从应用程序事件传递到窗体(该应用程序的此窗体启动事件)VB.net,.net,vb.net,forms,winforms,class,.net,Vb.net,Forms,Winforms,Class,我正在使用表单激活应用程序的事件,我希望将此事件的值传递给该表单上的文本框。但它不会将该值添加到文本框中。请在这种情况下指导我 '模块中的代码 Public Module InventorEvents Private WithEvents m_onDocumentChangeEvent As Inventor.ApplicationEvents Private WithEvents m_appEvents As Inventor.ApplicationEvents Private g_inv

我正在使用表单激活应用程序的事件,我希望将此事件的值传递给该表单上的文本框。但它不会将该值添加到文本框中。请在这种情况下指导我

'模块中的代码

Public Module InventorEvents

Private WithEvents m_onDocumentChangeEvent As Inventor.ApplicationEvents
Private WithEvents m_appEvents As Inventor.ApplicationEvents

Private g_inventorApplication As Inventor.Application
Private DocumentObject As Inventor.Document

Public Sub ActiveEvents()

    g_inventorApplication = Marshal.GetActiveObject("Inventor.Application")

    DocumentObject = g_inventorApplication.ActiveDocument

    m_onDocumentChangeEvent = g_inventorApplication.ApplicationEvents

    m_appEvents = g_inventorApplication.ApplicationEvents

End Sub

Private Sub m_onDocumentChangeEvent_OnDocumentChange(ByVal DocumentObject As Inventor.Document,
                                                     ByVal BeforeOrAfter As EventTimingEnum,
                                                     ByVal ReasonsForChange As CommandTypesEnum,
                                                     ByVal Context As NameValueMap,
                                                     ByRef HandlingCode As HandlingCodeEnum) Handles m_onDocumentChangeEvent.OnDocumentChange


    If BeforeOrAfter = EventTimingEnum.kAfter Then

        Call _formCommands.AddText($"OnActivateDocument : {DocumentObject.DisplayName}")

    End If

End Sub

End Module
"形式代码",

Public Class _formCommands

Private Sub _formCommands_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Call InventorEvents.ActiveEvents()
End Sub

Public Sub AddText(str As String)
    _tboxStatus.AppendText(str + System.Environment.NewLine)
End Sub

End Class
末级

我希望这对你有帮助。享受编码并学到很多东西!:)

末级

我希望这对你有帮助。享受编码并学到很多东西!:)

您好,此代码在windows窗体应用程序中工作,窗体1中添加了一个文本框,当您在窗体的文本框中单击时,它会更改文本框1的.text属性。我希望你能理解我写的代码,如果有人突然出现,请发表评论。非常感谢你。还有快乐的编码!)


您好,此代码在windows窗体应用程序中工作,窗体1中添加了一个文本框,当您在窗体的文本框中单击时,它会更改文本框1的.text属性。我希望你能理解我写的代码,如果有人突然出现,请发表评论。非常感谢你。还有快乐的编码!)

文本是否在
文本框中结束不应取决于您如何确定此处发生了什么。你是开发人员,不是用户。表现得像一个。使用调试器监视代码的运行。是否执行了模块中的事件处理程序?如果引发了事件并执行了AddText调用,那么我猜问题在于您在模块中引用了该表单类型的默认实例,而您实际查看的实例不是默认实例。无论文本是否在
TextBox
不应该是您确定这里发生了什么的方式。你是开发人员,不是用户。表现得像一个。使用调试器监视代码的运行。模块中的事件处理程序是否已执行?如果引发事件并执行AddText调用,那么我猜问题在于您在模块中引用该表单类型的默认实例,而您实际查看的实例不是默认实例。您好,先生!你能帮我解释一下吗,对不起,我刚开始编码!您知道控件及其事件吗?如果是,编写的代码将显示如何到达我创建的事件,该事件称为:mytxtbox0\u event\u click,当您在声明为:txtbox0的文本框中单击时(此代码片段无法完全运行,因为它需要更多代码行才能将文本框添加到表单中,然后您将能够看到它并在其中单击)。是否要查看完整的代码?:)你好,先生!你能帮我解释一下吗,对不起,我刚开始编码!您知道控件及其事件吗?如果是,编写的代码将显示如何到达我创建的事件,该事件称为:mytxtbox0\u event\u click,当您在声明为:txtbox0的文本框中单击时(此代码片段无法完全运行,因为它需要更多代码行才能将文本框添加到表单中,然后您将能够看到它并在其中单击)。是否要查看完整的代码?:)
Public Class mainclass
Dim txtbox0 As TextBox = Nothing

Sub New()
    txtbox0 = New TextBox
    With txtbox0
        .Text = "Hello"
        '
        '
        '
    End With
    'When you need a handler you can write this or similar:
    AddHandler txtbox0.Click, AddressOf mytxtbox0_event_click
    'If you need o want to remove a handler you can write this or similar:
    RemoveHandler txtbox0.Click, AddressOf mytxtbox0_event_click
    '
    '
    '
End Sub

Private Sub mytxtbox0_event_click()
    txtbox0.Text = "See you!"
End Sub
Public Class Form1
Dim txtbox0 As TextBox = Nothing
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    txtbox0 = TextBox1
    With txtbox0
        .Text = "Hello"
    End With

    'When you need a handler you can write this or similar:
    AddHandler txtbox0.Click, AddressOf mytxtbox0_event_click
    'If you need o want to remove a handler you can write this or similar:
    'RemoveHandler txtbox0.Click, AddressOf mytxtbox0_event_click

End Sub

Private Sub mytxtbox0_event_click()
    txtbox0.Text = "See you!"
End Sub

End Class