C# DockPanel套件:动态设置浮动窗口';s最大化ebox和最小化ebox

C# DockPanel套件:动态设置浮动窗口';s最大化ebox和最小化ebox,c#,winforms,dockpanel-suite,C#,Winforms,Dockpanel Suite,我是DockPanel套房的新手。我创建了一个自定义FloatWindow和IFloatWindowFactory,如下所示: 公共类MapFloatWindowFactory:DockPanelExtender.IFloatWindowFactory { 公共浮动窗口CreateFloatWindow(DockPanel DockPanel,DockPane窗格,矩形边框) { 返回新的MapFloatWindow(dockPanel、pane、bounds); } 公共浮动窗口创建浮动窗口(

我是DockPanel套房的新手。我创建了一个自定义FloatWindow和IFloatWindowFactory,如下所示:

公共类MapFloatWindowFactory:DockPanelExtender.IFloatWindowFactory
{
公共浮动窗口CreateFloatWindow(DockPanel DockPanel,DockPane窗格,矩形边框)
{
返回新的MapFloatWindow(dockPanel、pane、bounds);
}
公共浮动窗口创建浮动窗口(DockPanel DockPanel,DockPane窗格)
{
返回新的MapFloatWindow(dockPanel,窗格);
}
}
公共类MapFloatWindow:FloatWindow
{
公共映射浮动窗口(DockPanel DockPanel,DockPane窗格):基础(DockPanel,窗格)
{
FormBorderStyle=FormBorderStyle.sizeable;
}
公共映射浮动窗口(DockPanel DockPanel,DockPane窗格,矩形边界):基础(DockPanel,窗格,边界)
{
FormBorderStyle=FormBorderStyle.sizeable;
}
}

但是,使用这种方法,my
DockContent
MaximizeBox
MinimizeBox
属性不受尊重。如何实现此功能?

根据DockPanel Suite文档(),您确实需要创建一个自定义浮动窗口工厂:

接下来,创建一个factory类来创建CustomFloatWindow。这是 通过实现WindowFactory接口

public class CustomFloatWindowFactory :
        DockPanelExtender.IFloatWindowFactory
{
    public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds)
    {
        return new CustomFloatWindow(dockPanel, pane, bounds);
    }

    public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane)
    {
        return new CustomFloatWindow(dockPanel, pane);
    }
} 
最后,将新工厂连接到DockPanel控件

this.dockPanel.Extender.FloatWindowFactory = new CustomFloatWindowFactory();