Call events on any form without making event public.
Code can be modified for any type of control.
VB Code:
'IN A MODULE Option Explicit Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long Private Const BM_CLICK As Long = &HF5 Public Function ClickAll(ByVal oForm As Form) Dim ctrlControl As Control Dim sName As String For Each ctrlControl In oForm.Controls DoEvents 'IF TARGET FORM IS THE HOSTING FORM THEN MAKE SURE NOT TO CLICK SELF If TypeName(ctrlControl) = "CommandButton" And ctrlControl.Name <> "cmdClick" Then SendMessage ctrlControl.hwnd, BM_CLICK, 0&, 0& End If Next End Function 'BEHIND FORM1 WITH FOUR COMMANDBUTTONS(Name Command1 = cmdClick) Option Explicit Private Sub cmdClick_Click() 'YOU CAN USE THIS ON ANY FORM, JUST PASS THE TARGET FORMS NAME Call ClickAll(Form2) End Sub Private Sub Command2_Click() MsgBox "Form1 Command2_Click" End Sub Private Sub Command3_Click() MsgBox "Form1 Command3_Click" End Sub Private Sub Command4_Click() MsgBox "Form1 Command4_Click" End Sub 'BEHIND FORM2 WITH FOUR COMMANDBUTTONS Option Explicit Private Sub Command1_Click() MsgBox "Form2 Command1_Click" End Sub Private Sub Command2_Click() MsgBox "Form2 Command2_Click" End Sub Private Sub Command3_Click() MsgBox "Form2 Command3_Click" End Sub Private Sub Command4_Click() MsgBox "Form2 Command4_Click" End Sub



Reply With Quote