关于dockpanel隐藏,显示时某些功能失效的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于dockpanel隐藏,显示时某些功能失效的问题?相关的知识,希望对你有一定的参考价值。

我想实现一个功能,(1)按下bottom1时dockpanel显示,(2)之后dockpanel可以在双击的情况下,自动停靠在右边,(3)停靠在右边时,又可以自动隐藏。(我用的是Dev里的dockManager)
可是现在问题来了,窗体直接加载时,dockpanel显示,后面的(2)(3)都可以用;但如果窗体加载时,dockpanel隐藏,之后用bottom1令dockpanel显示,(2)(3)就不能用,不知道为什么?赐教!

参考技术A 介于这个问题,我又两个疑问:
1、你的第2、3步骤的操作,双击和自动停靠是自己写的代码还是DEV控件自带的功能;
2、在form_load事件里,直接给这个控件显示,功能OK,直接隐藏的话就无法使用了吗?追问

疑问1:双击和自动停靠是DEV控件自带的功能,我没写代码;
疑问2:对,先在Load时隐藏,然后又通过bottom显示(自己代码),之后(2)(3)就不能使用了。

追答

如果是DEV自己实现的功能,那应该是在控件初始化的时候,对代码进行了事件的注册。

解决办法:

    1、通过反编译工具,查看源码,然后找到实际的双击事件和自动停靠事件的注册代码,是否在显示时进行的。

    2、比较笨的一个做法是,先在窗体的构造函数里面,控件初始化完成后将它进行显示,然后再在窗体加载的时候隐藏。看看执行的效果。

       public Form1()
        
            InitializeComponent();
            //写在这里
            dockPanel1.Visibility = DockVisibility.Visible;
        
        
        private void Form1_Load(object sender, EventArgs e)
        
            dockPanel1.Visibility = DockVisibility.Hidden;
        

以上是关于关于dockpanel隐藏,显示时某些功能失效的问题?的主要内容,如果未能解决你的问题,请参考以下文章

关于使用navigationController,前后2个视图控制器navigationBar隐藏属性不同,导致右滑手势失效问题的解决办法

关于iOS导航控制器隐藏和显示会出现返回键失效,导航栏标题动画异常

DockPanel 中的 WPF4 TabControl/Grid 隐藏了 StatusBar

如何在 Vue 中显示/隐藏对象的某些部分

overflow属性失效分析

如何不允许编辑,但仍然允许隐藏列/行