2

我有一个来自 devexpress的字幕进度条控件。当我想使用它时,我通常会这样做

myMarqueeBarControl.Stopped = false;

<Some code>

myMarqueeBarControl.Stopped = true;

我想知道是否有更好的方法来使用此控件(或通常像这样的控件),而无需在 start 和 stop 语句之间包装一段代码。我不希望我的代码因这些而臃肿。有任何想法吗 ?

4

1 回答 1

2

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

您也许可以编写一个IDisposable小类,让您在 ctor 中进行控制并将状态重新设置为 dispose。在这种情况下,您可以将代码包装到 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...
}

这只是一个想法。也许您有另一种方法,但只需编写一个小型包装类并按照您的意愿使用它,让它为您完成愚蠢的工作。

于 2013-11-14T11:45:45.093 回答