Ok, I think I got this working through a property page. After crashing the IDE about 20 times.

Here's my code:
VB Code:
  1. 'usercontrol module
  2. Public ParentForm As Form
  3. Public ParentControlName As String
  4.  
  5. 'usercontrol code example
  6.  Option Explicit
  7. 'Default Property Values:
  8. Const m_def_LinkIndex = -1
  9. Const m_def_LinkName = 0
  10. 'Property Variables:
  11. Dim m_LinkIndex As Integer
  12. Dim m_LinkName As Variant
  13.  
  14.  
  15. Private Sub Command1_Click()
  16.     If LinkIndex <> -1 Then
  17.         UserControl.Parent.Controls(LinkIndex).Text = "weqweqweqe"
  18.     End If
  19. End Sub
  20.  
  21.  
  22. Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  23.     Set ParentForm = UserControl.Parent
  24.     ParentControlName = UserControl.Extender.Name
  25.    
  26.     m_LinkName = PropBag.ReadProperty("LinkName", m_def_LinkName)
  27.     m_LinkIndex = PropBag.ReadProperty("LinkIndex", m_def_LinkIndex)
  28. End Sub
  29. 'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
  30. 'MemberInfo=14,0,0,0
  31. Public Property Get LinkName() As Variant
  32.     LinkName = m_LinkName
  33. End Property
  34.  
  35. Public Property Let LinkName(ByVal New_LinkName As Variant)
  36.     m_LinkName = New_LinkName
  37.     PropertyChanged "LinkName"
  38. End Property
  39.  
  40. 'Initialize Properties for User Control
  41. Private Sub UserControl_InitProperties()
  42.     m_LinkName = m_def_LinkName
  43.     m_LinkIndex = m_def_LinkIndex
  44. End Sub
  45.  
  46. 'Write property values to storage
  47. Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  48.     Call PropBag.WriteProperty("LinkName", m_LinkName, m_def_LinkName)
  49.     Call PropBag.WriteProperty("LinkIndex", m_LinkIndex, m_def_LinkIndex)
  50. End Sub
  51.  
  52. 'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
  53. 'MemberInfo=7,0,0,-1
  54. Public Property Get LinkIndex() As Integer
  55.     LinkIndex = m_LinkIndex
  56. End Property
  57.  
  58. Public Property Let LinkIndex(ByVal New_LinkIndex As Integer)
  59.     m_LinkIndex = New_LinkIndex
  60.     PropertyChanged "LinkIndex"
  61. End Property
  62.  
  63.  
  64. 'in the property Page
  65. Option Explicit
  66.  
  67. Private Sub List1_Click()
  68.     Changed = True
  69. End Sub
  70.  
  71.  
  72. Private Sub PropertyPage_Initialize()
  73.     On Error GoTo ErrorTrap
  74.     Dim c As Control
  75.     Dim index As Integer
  76.     Dim Count As Integer
  77.    
  78.     List1.Clear
  79.    
  80.     For Each c In ParentForm.Controls 'this variable is set in the usercontrol
  81.         Count = Count + 1
  82.  
  83.         'make sure the control isn't the usercontrol but is a textbox
  84.         If c.Name <> ParentControlName And TypeOf c Is TextBox Then
  85.             'ParentControlName is set in UC
  86.             index = -1
  87.             index = c.index ' part of an array, set to index else after err, index=-1
  88.             If index = -1 Then
  89.                 'control is not part of an array
  90.                 List1.AddItem c.Name
  91.                 List1.ItemData(List1.NewIndex) = Count
  92.             Else
  93.                 'control is part on an array
  94.                 List1.AddItem c.Name & "(" & index & ")"
  95.                 List1.ItemData(List1.NewIndex) = Count
  96.             End If
  97.         End If
  98.     Next c
  99.     Exit Sub
  100. ErrorTrap:
  101.     Resume Next
  102. End Sub
  103.  
  104.  
  105. Private Sub PropertyPage_ApplyChanges()
  106.     SelectedControls(0).LinkName = List1.Text 'this is for show
  107.     SelectedControls(0).LinkIndex = List1.ItemData(List1.ListIndex) - 1 'this is the actual link
  108. End Sub