我有一个VSTO自定义任务窗格。在我的代码中,我将宽度设置为306,并且在Word 2010中可以正确显示所有宽度。但是,在Word 2013中,除非手动拖动以使其更宽,否则窗格的某些竖边不可见。请注意,这是同一台PC,因此分辨率不是一个因素。我觉得如果我只是增加代码的宽度,我并没有真正解决真正的问题,所以我想找到一种动态设置宽度的方法。请注意该控件停靠在右侧
myPane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;
因此,没有理由将其部分悬挂在屏幕的侧面。此外,即使我将其停靠在左侧,它仍然缺少窗格的右侧。
我不确定为什么我什至需要在代码中设置宽度,我认为它应该采用USerControl设计器中设置的大小,但是如果我不设置代码中的大小,则宽度会更小。我玩过自动调整大小的东西,但是一无所获。我觉得我缺少明显的东西。有人可以建议吗?
另一个附带的问题是,自定义控件标题的高度在Word 2013中比Word 2010大得多。我看不到有任何地方可以更改此设置。
原因可能是因为AFAIK的Office 2013屏幕分辨率默认分辨率为16:9,而Office 2010的默认分辨率为4:3。
我遇到过类似情况(尽管对于PowerPoint),默认分辨率取决于Office 2010还是2013。
因此,基本上,如果您对2010年任务窗格的大小进行硬编码,我想您将面对现在所面对的事情(我也面对过!)。
您可能会想到动态设置宽度,但是为此您需要做两件事
检查Office版本,可以很容易地完成以下操作:
Microsoft.Office.Interop.Word.Application appVersion = new Microsoft.Office.Interop.Word.Application();
在InitializeComponent()方法中的TaskPane.Designer.cs类中动态更改宽度。
但是问题是您不能在InitializeComponent()方法中添加自定义代码,否则即使卸载了外接程序,该对象也无法正确处理。单词处理的一个额外实例将出现在任务管理器中。
因此,我建议您根据Office 2013中看起来可接受的宽度设置宽度,并希望您无需在Office 2010中拖动任务窗格。
至于第二个问题,我认为这是默认行为。
干杯。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句