【问题标题】:Is there a way to control the width of the left task pane holding an add-in?有没有办法控制包含加载项的左侧任务窗格的宽度?
【发布时间】:2011-07-04 06:31:07
【问题描述】:

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

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;

插件是一个 Windows 用户控件,它有自己的尺寸。

上面的代码似乎不起作用,因为taskPaneAddIn 宽度总是固定在 excel 上。用户总是必须手动展开任务窗格才能看到控件的整个宽度。

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

【问题讨论】:

    标签: visual-studio-2010 excel c#-4.0 vsto


    【解决方案1】:

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

    var control = new TaskPaneControl();
    var width = control.Width;
    var taskPane = CustomTaskPanes.Add(control, "Wide");
    taskPane.Width = width;
    taskPane.Visible = true;
    

    【讨论】:

    • 谢谢,就是这样!你不会相信我花了多少时间来解决这个问题......再次感谢。
    猜你喜欢
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 2022-08-13
    • 1970-01-01
    • 2019-02-16
    • 2011-10-03
    • 1970-01-01
    相关资源
    最近更新 更多