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

本文关键字:更新 用户 一个 何打开 | 更新日期: 2023-09-27 18:02:00

我想打开一个窗口,显示一些文本,如"验证输入",并保持它打开,直到一个方法完成。我不能在消息框中这样做。有什么想法吗?

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

除非我理解错了,否则这听起来对用户有点残酷,但是您可以这样做:

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

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

你的MyDialog表单可以自己执行验证,或者响应验证已经完成的通知。在对话框被取消之前,用户将无法与应用程序的其他部分进行交互(就像当一个消息框显示时一样),对话框甚至可以禁用按钮/阻止用户关闭它,直到验证成功。

如果你这样做了,而你的模态对话框没有执行验证,那么你应该意识到你需要在后台线程上执行验证,因为UI线程将被捆绑在显示模态对话框上。

您可以创建一个基本表单,并执行如下操作:

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

根据你的应用上下文,你可以选择@Jethro的例子,或者

创建一个FormWaiting:Form,使其topmost并调用Show(),一旦你的方法完成执行关闭它。

你可以做很多其他的事情,但这取决于你的具体背景,这在文章中可能不是很清楚。

希望这对你有帮助。

问候。