有没有办法控制包含加载项的左任务窗格的宽度?

Nir*_*rMH 3 excel vsto visual-studio-2010 c#-4.0

我有一个使用VS2010 VSTO库构建的excel 2007加载项.当我创建一个新的加载项对象时,我还使用以下代码创建一个excel left任务窗格:

Microsoft.Office.Tools.CustomTaskPane taskPaneAddIn;
MyAddIn addIn;

addIn = new MyAddIn(this.Application);
taskPaneAddIn = this.CustomTaskPanes.Add(addIn, "My AddIn");
taskPaneAddIn.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionLeft;
taskPaneAddIn.Width = addIn.Size.Width + 5;
Run Code Online (Sandbox Code Playgroud)

addIn是一个具有自己维度的Windows用户控件.

上面的代码似乎不起作用,因为taskPaneAddIn宽度始终固定在excel上.用户始终必须手动展开任务窗格以查看控件的整个宽度.

是否有任何可编程方式来设置任务窗格宽度?

Mat*_*ias 14

我认为你的问题的根源是当你将控件添加到CustomTaskPanes时,它的Width被设置为零(我认为它与控件停靠的事实有关).要解决您的问题,您可以执行以下操作,并在添加控件之前检索控件的宽度:

var control = new TaskPaneControl();
var width = control.Width;
var taskPane = CustomTaskPanes.Add(control, "Wide");
taskPane.Width = width;
taskPane.Visible = true;
Run Code Online (Sandbox Code Playgroud)