VSTO-Excel 自定义任务窗格根据屏幕分辨率自动调整大小
VSTO-Excel Custom Task Pane AutoResize based on Screen Resolution
我的 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 但问题仍然存在。
我该如何解决这个问题?
先感谢您。
你需要玩玩myTaskPane
对象的AutoScaleMode
。
我认为正确的解决方案是使用:myTaskPane.AutoScaleMode = AutoScaleMode.Dpi;
参见 MSDN
我的 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 但问题仍然存在。
我该如何解决这个问题? 先感谢您。
你需要玩玩myTaskPane
对象的AutoScaleMode
。
我认为正确的解决方案是使用:myTaskPane.AutoScaleMode = AutoScaleMode.Dpi;
参见 MSDN