dockManager中DockPanel的刷新問題!


使用的是DevExpress的dockManager控件,新增一個DockPanel,在DockPanel中添加一個AxMapControl控件並設置默認加載地圖。

實現效果圖如下:

image

但是存在一個問題,那就是在DockPanel默認加載時候如果使用的是AutoHide狀態,在鼠標放在左側標簽時候(只是鼠標放在上面而沒有點擊),會自動彈出顯示該DockPanel,但是該DockPanel中的地圖控件顯示異常。

效果如下圖所示:

image(正常情況下應該與上圖完全相同)

似乎是刷新不完全,只有DockPanel的右側一點地方的內容顯示出來了,其他的內容呢?(如果是點擊顯示或者DockPanel在默認加載時不是AutoHide狀態,均不會出現這種情況)

本來以為在DockPanel完全顯示處理進行一下AxMapControl的刷新即可,但是找不到DockPanel相應的事件(大部分事件像是Resize等在窗體大小剛改變的時候就觸發了,而不是顯示完全后才觸發)。

最終在無奈的情況下初步做了幾種處理方法,但是都存在一定的問題。

1、在加載的時候使DockPanel為DockVisibility.Visible狀態,禁用AutoHide狀態(選擇該DockPanel設置其ShowAutoHideButton為False即可)。

2、設置DockManager的AutoHideSpeed盡量高一些(我設置為50),這樣也可以避免此種情況的發生,但是沒有那種慢慢彈出DockPanel的效果了,鼠標放在標簽上DockPanel就瞬間彈出了,比較突兀。

3、在加載的時候先進行一下初始化工作,即先通過dockPanelEagle.Show();顯示一下,在通過dockPanelEagle.HideSliding();進行隱藏。這種方法的得到的記過顯示上有一定改善,但是也存在局部位置的刷新問題。

現在暫且用第二種方法處理的,對於這個問題實在是比較無語,嘗試了好一陣也沒有完美解決,請問大家有遇見過這個問題的嗎?有好的解決方法不。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM