将值从应用程序事件传递到窗体(该应用程序的此窗体启动事件)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