private CustomTaskPane GetTaskPane(TaskPaneSettings settings) { var result = default(CustomTaskPane); result = ctpFactory.CreateCTP( cTPAxID: progId, cTPTitle: settings.Title, cTPParentWindow: taskPaneWindow) as CustomTaskPane; try { result.Visible = false; result.DockPosition = settings.GetDockPosition(); result.DockPositionRestrict = settings.GetDockRestriction(); if (result.DockPosition != MsoCTPDockPosition.msoCTPDockPositionLeft && result.DockPosition != MsoCTPDockPosition.msoCTPDockPositionRight) { result.Height = settings.Height; } if (result.DockPosition != MsoCTPDockPosition.msoCTPDockPositionBottom && result.DockPosition != MsoCTPDockPosition.msoCTPDockPositionTop) { result.Width = settings.Width; } result.DockPositionStateChangeEvent += (t) => BaseProvider.OnTaskPaneChanged(t); result.VisibleStateChangeEvent += (t) => BaseProvider.OnTaskPaneChanged(t); } catch { } return(result); }