我有来自devexpress的marquee progress bar control。当我想使用它时,我通常会这样做
myMarqueeBarControl.Stopped = false;
<Some code>
myMarqueeBarControl.Stopped = true;
我想知道是否有更好的方法来使用此控件(或通常是这样的控件)而不在start和stop语句之间包装一段代码。我不希望我的代码膨胀这些。有什么想法吗?
答案 0 :(得分: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...
}
这只是一个想法。也许你有另一种想法,但只需编写一个小的包装类并按照你的意愿使用它,让它为你做愚蠢的工作。