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

我有一个问题,我的VSTO插件为Excel。 我试图创build自定义任务窗格fot我的插件。 但是,当我尝试在开发人员的显示器上将其部署在不同分辨率的屏幕上时,插件不会自动适应屏幕。 注意:我的客户有不同的屏幕分辨率。

在我的vsto项目上,我试图创build一个自定义用户控件,并将其附加在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是我的用户控件的名称。

这是如何调用我的自定义任务面板上按function区button单击。 我已经将AutoSize属性设置为我的用户控件的真,但仍存在问题。

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

你需要使用myTaskPane对象的AutoScaleMode

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

请参阅MSDN