我设计了一个进度条,我想在加载网格时使用它(我从存储过程加载 datagridview)。然而,调用存储过程的进程有几个不同的调用项(见下文)。我很早就让进度条工作了(它不在下面的代码中,因此我在这里),但我的问题是这个。
当我正在跟踪的进度是多种不同的方法时,进度条能否正常工作。“LoadGrid”方法是我真正想要跟踪进度的方法,因为它是存储过程的处理和datagridview 的加载(即耗时的过程)。我想我更多的是问什么是正确的技术而不是使用的确切代码,但我对进度条的了解有限。我知道我可以只使用一个显示“忙碌”的随机图标,但如果可以合法地做,我宁愿有进度条。
public void btnLoadGrid_Click(object sender, EventArgs e)
{
frmProgress progressForm = new frmProgress();
try
{
progressForm.MdiParent = this;
progressForm.Text = "Importing DSC_0";
progressForm.Top = this.Height / 3 - progressForm.Height / 2;
progressForm.Left = this.Width / 2 - progressForm.Width / 2;
//ofd1.Title = "Import legacy DSC balances";
//this.ofd1.ShowDialog(this);
//Need code to empty grid before loading
grd1.Rows.Clear();
grd1.Refresh();
//Load grid based on new selections
GetUserSelections();
GetUserRelatedInfo();
LoadLabelForecastType();
LoadGrid();
}
catch (Exception ex)
{
util.LogError(ex);
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
Cursor.Current = Cursors.Default;
progressForm.Close();
}
还有进度条本身:
namespace AmortClient
{
public partial class frmProgress : Form
{
public frmProgress()
{
InitializeComponent();
}
public ProgressBar Pbar
{
get { return this.pb1; }
}
}
}