1、新建个WINFORM,放置进度图或转圈图,如下图
2、设计 按钮事件
在CS文件中加入:
using System.Threading;
using System.Threading.Tasks;
在窗体方法中加一句:
public Form_MultilayerSalesCommissions()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false; //忽略对跨线程调用的检测
}
3、在事件中写:
Form_Progress progress = new Form_Progress();
progress.Show();
Task.Factory.StartNew(() => // 将阻塞线程的操作在另外一个线程中执行,这样就不会堵塞UI线程。
{
getData(qsrq,jsrq); //此计算过程将运行时间5s左右
progress.BeginInvoke((Action)progress.Close);//BeginInvoke方法返回UI线程更新UI界面控件的机制。
MessageBox.Show(@"销售提成初步计算成功,请检查和修正!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
});