要在单击提交按钮时保持我的进度条 运行ning 并冻结屏幕和后台代码应该 运行
To Keep my progress bar running while clicking submit button and to freeze the screen and the background code should run
我需要在单击提交按钮时显示进度条 运行 并冻结屏幕大约 5 秒钟,但提交按钮中的代码应该并行执行这些工作。
我已经创建了一个等待表单,但是一旦连接关闭我就调用了等待表单,这样进度条需要一些时间才能出现,我可以 select 屏幕上不应该出现的其他选项' t.
private void cmdselect_click(System.object _sender System.EventArgs e1)
{
using (frmwait frm=new frmwait(savedata)) // and I have called wait form here
{
frm.Showdialog(this)
}
}
// Savedata method
void Savedata()
{
for(int i=1;i<=500;i++)
{
Thread.Sleep(10);
}
}
点击按钮后进度条不会立即开始。
你可以使用这个:
progressBar.Minimum = 0;
progressBar.Maximum = 500;
progressBar.Value = 0;
progressBar.Step = 1;
progressBar.Refresh();
Enabled = false; // for UX
Cursor = Cursors.WaitCursor; // for UX
try
{
for( int i = 1; i <= progressBar.Maximum; i++ )
{
// do process
progressBar.PerformStep();
progressBar.Refresh();
Thread.Sleep(10);
}
}
finally
{
Cursor = Cursors.Default;
Enabled = true;
}
除非您想降低进程速度,否则无需休眠。
我需要在单击提交按钮时显示进度条 运行 并冻结屏幕大约 5 秒钟,但提交按钮中的代码应该并行执行这些工作。
我已经创建了一个等待表单,但是一旦连接关闭我就调用了等待表单,这样进度条需要一些时间才能出现,我可以 select 屏幕上不应该出现的其他选项' t.
private void cmdselect_click(System.object _sender System.EventArgs e1)
{
using (frmwait frm=new frmwait(savedata)) // and I have called wait form here
{
frm.Showdialog(this)
}
}
// Savedata method
void Savedata()
{
for(int i=1;i<=500;i++)
{
Thread.Sleep(10);
}
}
点击按钮后进度条不会立即开始。
你可以使用这个:
progressBar.Minimum = 0;
progressBar.Maximum = 500;
progressBar.Value = 0;
progressBar.Step = 1;
progressBar.Refresh();
Enabled = false; // for UX
Cursor = Cursors.WaitCursor; // for UX
try
{
for( int i = 1; i <= progressBar.Maximum; i++ )
{
// do process
progressBar.PerformStep();
progressBar.Refresh();
Thread.Sleep(10);
}
}
finally
{
Cursor = Cursors.Default;
Enabled = true;
}
除非您想降低进程速度,否则无需休眠。