Community
I try to open a Form that i create in the OnSaveDocument Event. I tested the Event with some MessageBox, they show up succesfully.
The Problem, My Form does not show on Screen.
Private Sub m_appEvents_OnSaveDocument(ByVal DocumentObject As Inventor.Document, ByVal BeforeOrAfter As Inventor.EventTimingEnum, ByVal Context As Inventor.NameValueMap, ByRef HandlingCode As Inventor.HandlingCodeEnum) _ Handles m_appEvents.OnSaveDocument If BeforeOrAfter = EventTimingEnum.kBefore Then If DocumentObject.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject Or DocumentObject.DocumentType = DocumentTypeEnum.kPartDocumentObject Then CheckCustomiProperty(DocumentObject, "Name englisch", "") CheckCustomiProperty(DocumentObject, "BENKEY", "") Dim oUDProps As PropertySet oUDProps = DocumentObject.PropertySets.Item(4) Dim oProps As PropertySet oProps = DocumentObject.PropertySets.Item(3) If oUDProps.Item("Name englisch").Value = "" MsgBox(oUDProps.Item("Name englisch").Value) MsgBox(oUDProps.Item("BENKEY").Value) MsgBox(oProps.Item(2).Value) MyForm.Show() MyForm.TopMost = True End If End If End If End Sub
The Important Part is:
'WORKS MsgBox(oUDProps.Item("Name englisch").Value) MsgBox(oUDProps.Item("BENKEY").Value) MsgBox(oProps.Item(2).Value) 'DONT WORK MyForm.Show() MyForm.TopMost = True
Thank you for your help, is it possible to show the Dialog ?
Best Regards Mathias
I think you need to make Inventor the parent for your form.
Will you please look into this discussion:
http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Can-t-tab-through-Add-in-form/m-p/2528...
Here is the source text of WindowWrapper class provided by Josh_Petitt
''' <summary> ''' Used to wrap a Win32 hWnd as a .Net IWind32Window class. ''' This is primarily used for parenting a dialog to the Inventor window. ''' </summary> ''' <remarks> ''' For example: ''' myForm.Show(New WindowWrapper(m_inventorApplication.MainFrameHWND)) ''' </remarks> Public Class WindowWrapper Implements System.Windows.Forms.IWin32Window Public Sub New(ByVal handle As IntPtr) _hwnd = handle End Sub Public ReadOnly Property Handle() As IntPtr _ Implements System.Windows.Forms.IWin32Window.Handle Get Return _hwnd End Get End Property Private _hwnd As IntPtr End Class