2
我有奇怪的问题与ElementHost的上CustomTaskPane在Excel 2010中的32位的Windows 7 64位系统,内部主机.NET 4.0ElementHost的不刷新的工作簿后,在Excel中移到它2010
控制(或主机本身)后不重新绘制工作簿窗口移动了。 为了说明这一点,我已经创建的样本:
_host = new ElementHost { Dock = DockStyle.Fill, BackColorTransparent = false, BackColor = Color.Blue };
_userControl = new UserControl();
_userControl.Controls.Add(_host);
_taskPane = CustomTaskPanes.Add(_userControl, "Pane");
_taskPane.Visible = true;
我省略为简单起见孩子的控制,结果是一样的。
这里是如何看起来如预期:
现在我把工作簿了一下周围,我也得到:预计不会
显然,灰色和黑色区域(与实际控制相同的结果主办)。 _host刷新修复了问题 - 重新绘制自己和孩子,但问题是我没有发现VSTO中的任何事件来检测工作簿何时被移动。
问题:
- 在哪里那些黑色/灰色地带从何而来?
- 是否有可能避免/修复它,以及如何?
- (作为解决方法)是否可以检测工作簿窗口移动,以便我可以刷新_host并为其发生的唯一情况祷告? (坏主意)
其他测试表明,Windows窗体控件不会遭受这种行为。
在此先感谢。
为简单起见,我省略了子控件,因为结果相同 – Arnas 2012-10-17 16:24:58