VSTO-Excel自定义任务窗格基于屏幕分辨率的AutoResize

时间:2016-11-22 11:57:32

标签: excel vsto customtaskpane

我的excel VSTO插件有问题。 我尝试在我的插件中创建自定义任务窗格。但是,当我尝试将其部署在与开发人员监视器不同分辨率的屏幕上时,插件不会自动适合屏幕。注意:我的客户有不同的屏幕分辨率。

在我的vsto项目中,我尝试创建自定义用户控件,并将其附加到Excel窗格上。

请参阅下面的代码:

        private void btnDownload_Click(object sender, RibbonControlEventArgs e)
    {
        taskPaneView = new ucCusipAddPanel();

        if (myTaskPane == null)
        {
            myTaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(taskPaneView, "My Custom Task Pane");
            myTaskPane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;
            myTaskPane.DockPositionRestrict = Office.MsoCTPDockPositionRestrict.msoCTPDockPositionRestrictNoChange;
            myTaskPane.Visible = true;
            myTaskPane.Width = 303;
        }
        else
        {
            myTaskPane.Visible = true;
            taskPaneView.BringToFront();
            taskPaneView.Focus();
        }
    }

ucCusipAddPanel 是我的用户控件的名称。

这是在单击功能区按钮时调用我的自定义任务窗格的方法。我已将 AutoSize 属性设置为我的用户控件的true,但问题仍然存在。

我怎么解决这个问题? 先感谢您。

1 个答案:

答案 0 :(得分:1)

您需要使用AutoScaleMode对象的myTaskPane

我认为正确的解决方案是使用:myTaskPane.AutoScaleMode = AutoScaleMode.Dpi;

请参阅MSDN