c#如何打开一个框来更新用户的进度
本文关键字:更新 用户 一个 何打开 | 更新日期: 2023-09-27 18:02:00
我想打开一个窗口,显示一些文本,如"验证输入",并保持它打开,直到一个方法完成。我不能在消息框中这样做。有什么想法吗?
除非我理解错了,否则这听起来对用户有点残酷,但是您可以这样做:
一个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()
,一旦你的方法完成执行关闭它。
你可以做很多其他的事情,但这取决于你的具体背景,这在文章中可能不是很清楚。
希望这对你有帮助。
问候。