Передать значение из события приложения в форму (эта форма запускает события для этого приложения) VB.net - PullRequest
1 голос
/ 21 марта 2020

Я использую форму для активации события для приложения, и я хотел бы передать значение из этого события в текстовое поле в этой форме. Но это не добавляет это значение к своему текстовому полю. Пожалуйста, помогите мне в этом случае.

'Код в модуле

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

Ответы [ 2 ]

0 голосов
/ 22 марта 2020
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

Привет, этот код работает в приложении windows с текстовым полем, добавленным в форму Form1, когда вы нажимаете в текстовом поле формы, оно меняет свойство .text textbox1. Я надеюсь, что вы понимаете мой написанный код, и если какой-то чувак поднимется, прокомментируйте. Большое спасибо. И счастливой кодировки! :)

0 голосов
/ 21 марта 2020
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

Конечный класс

Надеюсь, это поможет вам. Наслаждайтесь кодированием и многому научитесь! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...