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