2013-11-14 24 views
2

我有devexpress的marquee progress bar control。当我想用它我通常做正确使用选取框进度条

myMarqueeBarControl.Stopped = false; 

<Some code> 

myMarqueeBarControl.Stopped = true; 

我想知道是否有使用该控件(或一般控制是这样),而包装的一块开始之间的代码和停止报表更好的办法。我不想让我的代码臃肿与这些。有任何想法吗 ?

+0

代码一直都是一样的吗? – Noctis

回答

2

如果某个类的接口不是您想要的接口,请将其包装到您自己的类中。

你也许可以写一个小型的IDisposable类,它可以控制你的控制器,并将状态设置回配置。在这种情况下,你可以将你的代码封装到using语句中。

下面是一些例子包装代码:

public class MarqueeWrapper : IDisposable 
{ 
    private MarqueeControl _Source; 

    public MarqueeWrapper(MarqueeControl source) 
    { 
     _Source = source; 
     source.Stopped = false; 
    } 

    public void Dispose() 
    { 
     source.Stopped = true; 
    } 
} 

这里是你如何使用它:

using(var wrapper = new MarqueeWrapper(myMarqueeBarControl)) 
{ 
    // Some code... 
} 

这只是一个想法。也许你有另一种想法,但只需编写一个小包装类,并像你的愿望一样使用它,让它为你做哑巴工作。

+0

VUNDABA !!!! (可能是完全错误的......)但喜欢这个想法......我将来会使用它...... – Noctis