在WinForms应用程序中,我想提供一个循环后台程序正在进行的视觉反馈(它不是由用户启动或阻止他们使用UI)
编辑 - 它一直在进行,循环播放。用户无需知道迭代何时开始或结束。
我正在考虑某种小型,方形,循环动画。类似于经常在Mac / iPhone应用程序中使用的分段“微调器”。
spinner http://img12.imageshack.us/img12/4402/spinner.png
是否有类似的内置WinForms控件?如果没有,最好的方法是什么?
答案 0 :(得分:23)
只需在表单上删除animated GIF,并确保您没有阻止UI线程:
答案 1 :(得分:2)
而不是写这个
public void DoWork()
{
try
{
this.Cursor = Cursors.WaitCursor;
DoSomeBigThing();
. . . .
}
catch()
{
. . . ..
}
finally
{
. . . .
this.Cursor = Cursors.Default;
}
}
使用AutoWaitCursor并将鼠标光标设置为您自己创建的光标
光标myCursor =新光标(“myCoolCursor.cur”);
答案 2 :(得分:1)
使用自定义开发的线程模型或BackgroundWorker。
让后台线程使用委托处理程序定期将事件发布回主GUI线程,考虑线程安全,或者如果您使用BackgroundWorker,则使用ProgressChanged事件。