private void MakePanelVisible(DockPanel parent, DockPanel child) { DockLayout dockLayout = (DockLayout)parent.GetType().GetProperty("DockLayout", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(parent, null); dockLayout.GetType().GetField("firstVisibleTabIndex", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).SetValue(dockLayout, parent.Controls.IndexOf(child)); dockLayout.GetType().GetMethod("LayoutChanged", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(dockLayout, null); }