public static void LinkedObjectForm(string FormUniqueID, string ActivateMenuItem, string FindItemUID, string FindItemUIDValue) { try { SAPbouiCOM.Form oForm = null; SAPbouiCOM.IEditText oEditText = null; bool Bool = false; //For frm As Integer = 0 To Application.SBO_Application.Forms.Count - 1 // Dim sCad As String = Application.SBO_Application.Forms.Item(frm).UniqueID // If Application.SBO_Application.Forms.Item(frm). = FormUniqueID Then // 'Application.SBO_Application.Forms.Item(pVal.FormUID) // oForm = Application.SBO_Application.Forms.Item(FormUniqueID) // oForm.Close() // Exit For // End If //Next if (Bool == false) { Application.SBO_Application.ActivateMenuItem(ActivateMenuItem); Application.SBO_Application.Forms.ActiveForm.Freeze(true); oForm = Application.SBO_Application.Forms.ActiveForm; oForm.Select(); oForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE; oForm.Items.Item(FindItemUID).Enabled = true; oEditText = (SAPbouiCOM.IEditText)oForm.Items.Item(FindItemUID).Specific; oEditText.Value = FindItemUIDValue.Trim(); oForm.Items.Item("1").Click(); oForm.Freeze(false); } } catch (Exception) { Application.SBO_Application.MessageBox(oCompany.GetLastErrorDescription()); } finally { } }
///<summary> Shows the folder browser dialog. </summary> ///<remarks> Amartinez, 01/06/2017. </remarks> ///<param name="pTxtEditText"> The edit text. </param> private void showFolderBrowserDialog(SAPbouiCOM.IEditText pTxtEditText) { FolderBrowserDialog lObjFolderBrowserDialog = new FolderBrowserDialog(); IntPtr lPtrForegroundWindow = GetForegroundWindow(); WindowWrapper lObjWindow = new WindowWrapper(lPtrForegroundWindow); Type lTypeFolderBrowser = lObjFolderBrowserDialog.GetType(); FieldInfo lFieldInfo = lTypeFolderBrowser.GetField("rootFolder", BindingFlags.NonPublic | BindingFlags.Instance); lFieldInfo.SetValue(lObjFolderBrowserDialog, 0); if (lObjFolderBrowserDialog.ShowDialog(lObjWindow) == DialogResult.OK) { pTxtEditText.Value = lObjFolderBrowserDialog.SelectedPath; } }