Изменение панели VSTO во всех проектах, открытых в MS PROJECT - PullRequest
0 голосов
/ 27 февраля 2020

Проблема заключается в следующем: у меня есть надстройка со связанным с usercontrol, очень простая, просто чтобы показать в рабочем окне MS Project, когда я открываю MS Project, она создает панель, где он показывает пользовательский контроль. Когда я закрываю панель, нажимая на X, и открываю новый проект, она не создает новую панель с пользовательским контролем. Мне бы хотелось, чтобы каждый раз, когда я открывал новый проект, он создавал соответствующую часть, не затрагивая другие открытые проекты. Мой простой код выложен здесь.

public partial class ThisAddIn
{
  private UserControl1 myUserControl1;
  private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
  Microsoft.Office.Tools.CustomTaskPaneCollection customPaneCollection;
  private void ThisAddIn_Startup(object sender, System.EventArgs e)
  {
    CreatePane();
  }
  private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
  {
  }
  private void InternalStartup()
  {
     this.Startup += new System.EventHandler(ThisAddIn_Startup);
     this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
  }
  private void CreatePane()
  {
     myUserControl1 = new UserControl1();
     myUserControl1.Dock = System.Windows.Forms.DockStyle.Fill;

     customPaneCollection = Globals.Factory.CreateCustomTaskPaneCollection(null, null, "Panes", "Panes", this);
     myCustomTaskPane = customPaneCollection.Add(myUserControl1, "Test Pane/UserControl");
     myCustomTaskPane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;
     myCustomTaskPane.Visible = true;
  }
}
...