我有一个VSTO自定义任务窗格。在我的代码中,我将宽度设置为306,并在Word 2010中正确显示。然而,在Word 2013中,除非我手动拖动以使其变宽,否则窗格的一些右侧是不可见的。注意,这是同一台PC,所以分辨率不应该是一个因素。我觉得如果我只是在代码中增加宽度,我并不是真正地解决实际问题,所以我想要一种动态设置宽度的方法。注意,控件正停靠在右侧。
Office.MsoCTPDockPosition.msoCTPDockPositionRight;= myPane.DockPosition
所以没有理由把它的一部分挂在屏幕的一侧。另外,即使我把它靠在左边,它仍然缺少窗格的右侧。
我不知道为什么我需要在代码中设置一个宽度,我认为它应该获得USerControl设计器中设置的大小,但是如果我不在代码中设置大小,宽度就会更小。我玩过自动大小的东西,但一无所获。我觉得我错过了一些显而易见的东西。有人能告诉我吗?
另外,在Word 2013中,定制控件标题的高度要比Word 2010大得多。我看不出有什么地方可以改变这一切。
发布于 2014-07-11 12:04:13
原因可能是AFAIK,Office 2013屏幕视图的默认分辨率为16:9,而Office 2010的默认分辨率为4:3。
我也遇到过类似的情况(虽然对于PowerPoint),在默认的解决方案中,取决于它是Office 2010还是2013年。
所以,基本上,如果你硬编码2010年的任务窗格大小,我猜你将面对你现在面对的(我也面对它!)
您可能会考虑动态地设置宽度,但是为此,您需要做两件事
但问题是您无法在InitializeComponent()方法中添加自定义代码,否则即使卸载外接程序,也无法正确地处理该对象。而Word流程的一个额外实例将出现在任务管理器中。
因此,我建议您根据Office 2013中看起来可以接受的内容来设置宽度,我希望您不需要拖动Office 2010中的任务窗格。
至于你的第二个问题,我认为这是默认行为。
干杯。
https://stackoverflow.com/questions/24456318
复制相似问题