C#如何打开一个框来更新用户的进度?

时间:2011-07-14 15:32:41

标签: c# window

我想打开一个窗口,显示一些文本,如“验证输入”,并保持打开状态,直到方法完成。我不能用messagebox这样做。任何想法的家伙?

3 个答案:

答案 0 :(得分:1)

除非我误解了这听起来对用户来说有点残忍,但你可以做这样的事情:

MessageBox只是一个标准的Windows窗体,显示为模式对话框。如果您不喜欢表单上显示的控件,那么您可以创建自己的表单,并通过ShowDialog方法将其作为模式对话框显示给用户:

MyDialog dialog = new MyDialog();
dialig.ShowDialog();

您的MyDialog表单可以自行执行验证,也可以回复验证已完成的通知。在对话框被解除之前,用户将无法与应用程序的其余部分进行交互(就像显示消息框时一样)并且对话框甚至可以禁用按钮/阻止用户关闭它,直到验证成功为止

如果你这样做并且你的模态对话框没有执行验证,那么你应该知道你需要在后台线程上执行验证,因为UI线程将被绑定显示模态对话框。

答案 1 :(得分:0)

您可以创建基本表单,并执行类似的操作。

this.Enabled = false;
FormWaiting frm = new FormWaiting();
frm.Show();

Thread.Sleep(1000000); //Place holder for long operation.
frm.Close();
this.Enabled = true;

答案 2 :(得分:0)

取决于您的应用环境,您可以选择@Jethro或

的示例

创建一个FormWaiting:Form,将其设为最顶层并调用Show(),一次方法完成执行后关闭它。

你可以做很多其他的事情,但取决于具体的背景,从帖子中不能很清楚。

希望这会有所帮助。

问候。