进行一个运算,希望在运算前弹出一个窗口提示正在运算,然后算完了,这个弹窗消失掉
//主窗口类
SolutionRobot MyRobot = new SolutionRobot(textBoxOfInputPath.Text, textBoxOfOutputPath.Text,day);
WatingForm wait = new WatingForm();
MyRobot.Run();
wait.CloseDialog();
...
//弹出窗口类
partial class WatingForm : Form
{
public WatingForm()
{
InitializeComponent();
this.ShowDialog();
//OperateProgressBar();
}
public void CloseDialog()
{
this.Close();
}
这样写为什么不行??
//主窗口类
SolutionRobot MyRobot = new SolutionRobot(textBoxOfInputPath.Text, textBoxOfOutputPath.Text,day);
WatingForm wait = new WatingForm();
MyRobot.Run();
wait.CloseDialog();
...
//弹出窗口类
partial class WatingForm : Form
{
public WatingForm()
{
InitializeComponent();
this.ShowDialog();
//OperateProgressBar();
}
public void CloseDialog()
{
this.Close();
}
这样写为什么不行??
解决方案 »
- combox下拉框初始化,以及初始化函数是哪个
- 怎样改变别的程序的只读文本框的内容?
- TreeView中clone的问题
- c# pk vb6.0
- 如何为自定义组件添加一FileName属性,在设计窗口中通过OpenFileDialog得到值,或直接输入得到
- 各位大侠 如何让我成为进阶高手?
- 怎么解决在ASP.NET2.0的GridView中如果把某列的Visible设为false后的取值问题
- 求救,有关SharpDevelop的问题
- 关于 泛型 代码扩展的问题!!!
- 请问image.Save();出现这种错误是怎么回事,有些图片可以但是有些图片就会出现这种错误
- 数据库连接池的疑惑?
- Cache值消失了? 在线急等!
计算完成后终止线程即可
using System.Threading;
Thread t = new Thread(new ThreadStart(ShowProgressBar));
t.Start();
try
{
//这里是你的计算过程
}
finally
{
bAbort = true;
t.Join();
}
static bool bAbort = false;
private static void ShowProgressBar()
{
ProgressForm prgForm = new ProgressForm();
aForm.Show();
while (!bAbort || prgForm .progressBar1.Value < 99)
{
if (prgForm .progressBar1.Value + 3 > 100)
{
prgForm .progressBar1.Value = 1;
}
else
{
prgForm .progressBar1.Value += 3;
}
Thread.Sleep(5);
}
}
aForm.Show();改为
prgForm.Show();