我尝试在执行操作时向用户显示MESSAGE。 MESSAGE不会显示任何按钮。只是一个MESSAGE(文本),也许是一个背景图片。
问题如下:
如何在C#
中实现这一目标?
答案 0 :(得分:6)
使用消息创建一个简单的表单(或公开一个公共属性以便能够更改消息,或者使用带有message参数的构造函数来传递它)并使用this Show overload显示表单。然后禁用(整个)原始(所有者)表单(或者只是禁用您不想访问的控件)。
所以,在你的“主要”形式中这样做:
Form f = new MessageForm();
f.Show(this); //Make sure we're the owner
this.Enabled = false; //Disable ourselves
//Do processing here
this.Enabled = true; //We're done, enable ourselves
f.Close(); //Dispose message form
另外,请考虑使用BackgroundWorker。
答案 1 :(得分:2)
创建自定义表单,并编写自己的行为
答案 2 :(得分:0)
创建一个自定义表单,将其设置为最小样式等。确保它知道进程何时完成,例如通过传入对进程的引用并不时地检查它。
答案 3 :(得分:0)
你可以做的一种方法是创建一个在完成时引发事件的工人类。
在新的thead中执行worker类,因此它将运行它作为背景。
使用方法创建模态窗体,将其关闭为“已完成”事件的事件处理程序。 这样ui仍然可以工作并响应,并且一旦工作线程完成,表单就会关闭。