C# DockPanelSuite';s停靠状态和自动隐藏

C# DockPanelSuite';s停靠状态和自动隐藏,c#,winforms,dockpanel-suite,C#,Winforms,Dockpanel Suite,使用DockState和AutoHide,我正在寻找以下内容: 了解DockContent是否处于自动隐藏模式 能够在“常规”和自动隐藏模式之间切换 当自动隐藏停靠进入视图时触发事件 当自动隐藏停靠“左”并现在停靠回其选项卡时触发事件 答案维基: IsAutoHide-获取: private WeifenLuo.WinFormsUI.Docking.DockState[] AutoHideStates = new WeifenLuo.WinFormsUI.Docking.DockState[]

使用DockState和AutoHide,我正在寻找以下内容:

  • 了解DockContent是否处于自动隐藏模式
  • 能够在“常规”和自动隐藏模式之间切换
  • 当自动隐藏停靠进入视图时触发事件
  • 当自动隐藏停靠“左”并现在停靠回其选项卡时触发事件
  • 答案维基:

  • IsAutoHide-获取:

    private WeifenLuo.WinFormsUI.Docking.DockState[] AutoHideStates = new WeifenLuo.WinFormsUI.Docking.DockState[] {
        WeifenLuo.WinFormsUI.Docking.DockState.DockBottomAutoHide,
        WeifenLuo.WinFormsUI.Docking.DockState.DockLeftAutoHide,
        WeifenLuo.WinFormsUI.Docking.DockState.DockRightAutoHide,
        WeifenLuo.WinFormsUI.Docking.DockState.DockTopAutoHide };
    
    public bool IsAutoHide { get { return AutoHideStates.Contains(DockContent.DockState); } }
    
  • IsAutoHide-设置: 还没有代码-基本上迭代模式或使用可交换模式字典(即DockBottomAutoHide到DockBottom)

  • 我不知道,但是看起来很有趣,可能有这个想法

  • 我不知道

  • 1是实现这一目标的得体方法。该库有一个内部方法,
    DockHelper.IsDockStateAutoHide()
    ,它基本上完成了相同的工作。这实际上应该成为一个公共扩展方法,并作为库的一部分

    你的解决方案很好

    DockPanel
    ActiveAutoHideContentChanged
    中,3和4可能最好作为新事件实现。然后,您可以自己跟踪最后一个自动隐藏内容,当引发事件时,您知道如果新值不为null,则发生#3;如果最后一个已知值不为null,则发生#4


    请随时打开请求以添加活动。

    感谢您的建议,我已经尝试让您的生活更轻松,并且(经过短暂的学习之后)进入了github项目。我想知道是什么原因导致此问题降级,请发表评论。下次您可能直接访问github的问题跟踪程序时,我尝试了去那里,但那里似乎没有一个“标准”论坛,只有问题跟踪者,我不想打开一个问题,直到我确定它是一个。这个地方(SO)是一个完美的知识共享场所。您误解了GitHub上问题的含义。看看那里存在的问题,你可以看到各种各样的讨论都是受欢迎的。