异步调用进度条窗体弹出加载数据

异步调用进度条窗体弹出

public partial class LoadProgressBar : Form
{
int losttime = 0;
/// <summary>
/// 是否可以关闭窗体
/// </summary>
public bool ClosedFlag = false;
public LoadProgressBar()
{
InitializeComponent();
}

public void SetProgressMaxValue(int value, string name)
{
progressBar1.Maximum = value;
progressBar1.Value = 0;
nameLab.Text = name;
losttime = 0;
Console.WriteLine("Maximum:" + value);
}

public void SetValue(int value, int totalValue)
{
try
{
losttime = 0;
this.progressBar1.BeginInvoke(new Action(() =>
{
progressBar1.Maximum = totalValue;
int tempvalue = progressBar1.Value + value;
if (tempvalue < progressBar1.Maximum)
{
speedLab.Text = tempvalue.ToString("D2") + "/" + totalValue.ToString("D2");
progressBar1.Value = tempvalue;
}
Console.WriteLine("tempvalue:" + tempvalue);
}));
}
catch
{ }
}

private void LoadProgressBar_FormClosing(object sender, FormClosingEventArgs e)
{
if (ClosedFlag == false)
{
if (losttime > 30)
{
this.DialogResult = DialogResult.Cancel;
return;
}
if (MessageBox.Show("正在导出文件,是否要中断?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
this.DialogResult = DialogResult.Cancel;
}
else
{
e.Cancel = true;
//this.DialogResult = DialogResult.Cancel;
}

}
else
{
this.DialogResult = DialogResult.OK;
}
}

private void closed_Pic_Click(object sender, EventArgs e)
{
this.Close();
}

private void timer1_Tick(object sender, EventArgs e)
{
losttime++;
if (losttime > 30)
{
this.Close();
}
}

}

猜你喜欢

转载自www.cnblogs.com/wangyonglai/p/12372023.html