• 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();进行隐藏。这种方法的得到的记过显示上有一定改善,但是也存在局部位置的刷新问题。

    现在暂且用第二种方法处理的,对于这个问题实在是比较无语,尝试了好一阵也没有完美解决,请问大家有遇见过这个问题的吗?有好的解决方法不。

  • 相关阅读:
    Mongdb 简单增删改查
    mongdb的安装
    VO,DO,DTO,PO,POJO,EJB
    JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式!
    判断DataTale中判断某个字段中包含某个数据
    查询表中某个字段的值出现次数大于1的数据
    判断对象数组中是否含有某个对象。
    C# datatable 重新排序
    jquery 验证大于0的整数
    jQuery 心跳请求
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/4269802.html
Copyright © 2020-2023  润新知