首页 文章

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

提问于
浏览
1

我的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

    您需要使用 myTaskPane 对象的 AutoScaleMode .

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

    MSDN

相关问题