I'm sure you could go about this in many different ways. However, here are a couple of suggestions that may help. My simple test contains a dockable window named DockableWindow1 that contains a single child control named button1. It also contains a seperate button that's used to find the dockable window and access its child controls. For a dockable window AddIn: 1) In the implementation class of the dockable window (AddinImpl) expose a property public DockableWindow1 MyDockWin { get {return m_windowUI;} } 2) When accessing the dockable window from the separate button: string dockWinId = ThisAddIn.IDs.DockableWindow1; IDockableWindow dockWin = getDockWin(dockWinId); DockableWindow1.AddinImpl addiN = AddIn.FromID<DockableWindow1.AddinImpl>(dockWinId); DockableWindow1 myDocWin = addiN.MyDockWin; UserControl uc = (UserControl)myDocWin; System.Windows.Forms.Button myChildControl = (System.Windows.Forms.Button)uc.Controls[0]; For a COM based dockable window (using the Dockable Window item template in a standard class library) 1) You could expose a separate property or leverage the UserData property of your dockable window: object IDockableWindowDef.UserData { get { return (object)this; } } 2) When accessing the dockable window from the separate button: IDockableWindow COMDockWin = getDockWin("{10039c9d-ac61-4dbe-8bec-bba52b6f5fc0}"); UserControl COMuc = (UserControl)COMDockWin.UserData; System.Windows.Forms.Button myCOMChildControl = (System.Windows.Forms.Button)COMuc.Controls[0]; Hope this helps! Can this same thing be done in VB.NET? I have a custom tool that allows the user to draw a polygon on the map and return an area as a string. I then need the tool to be able to populate a text box on my dockable window. I've tried getting a reference to the dockable window the same way you would to open it like this. Dim dockWindowSW As ESRI.ArcGIS.Framework.IDockableWindow Dim dockWinSWID As UID = New UIDClass() dockWinSWID.Value = My.ThisAddIn.IDs.frmSW dockWindowSW = My.ArcMap.DockableWindowManager.GetDockableWindow(dockWinSWID) dockWindowSW.txtAcres.Text = strArea But I'm still getting a shared member error. How do I access the textbox? Any help would be appreciated. Thanks!
... View more