繁体   English   中英

面板上的装饰图案

[英]Decorator pattern on a panel

我正在尝试制作一个可以使用装饰器设计模式滚动的 winform 面板。 但我不明白如何在界面中使用它,因为我失去了所有面板属性,如大小、位置等。

当我初始化组件时,我这样声明他:

IPanel scrollablePanel= new VScrollablePanell(new CorePanel())

我可能做错了什么,但我无法弄清楚,希望你能帮助我

public interface IPanel
    {
        void Operation();
    }

    public class CorePanel : Panel,IPanel
    {
        public void Operation() { }

    }
    public class PanelDecorator :IPanel
    {
        protected IPanel m_Decorated;
        public PanelDecorator(IPanel i_Decorated)
        { m_Decorated = i_Decorated; }
        public virtual void Operation()
        { m_Decorated.Operation(); }

    }
    public class VScrollPanel : PanelDecorator
    {
        public VScrollPanel(IPanel i_Decorated) :
        base(i_Decorated)
        { }
        public override void Operation()
        {
            Scroll();
        }
        private void Scroll()
        {
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM