OK! Now I understand what you want to do.
The MDI child form might be partly outside the MDI form so a textbox might not be seen.
I've changed the code a bit and used the GetWindowRect API function.
This function will get the bounding rectangle of any Window or control relative to the upper-left corner of the screen.
Then I used almost the same code as before but used the rectangle of the TextBox and the MDI form instead.
VB Code:
  1. Private Declare Function GetWindowRect _
  2.  Lib "user32" ( _
  3.  ByVal hwnd As Long, _
  4.  lpRect As RECT) As Long
  5.  
  6. Private Type RECT
  7.     Left As Long
  8.     Top As Long
  9.     Right As Long
  10.     Bottom As Long
  11. End Type
  12.  
  13. Private Sub Text1_GotFocus(Index As Integer)
  14.     Dim rTextBox As RECT
  15.     Dim rMDI As RECT
  16.    
  17.     GetWindowRect Text1(Index).hwnd, rTextBox
  18.     GetWindowRect MDIForm1.hwnd, rMDI
  19.     With rTextBox
  20.         If (.Bottom <= rMDI.Top Or .Top >= rMDI.Bottom) Or (.Right <= rMDI.Left Or .Left >= rMDI.Right) Then
  21.             MsgBox "I'am out of bound"
  22.         End If
  23.     End With
  24. End Sub
Best regards