显示"等待"执行操作时的消息

时间:2014-10-01 14:28:05

标签: c# popup

我有一个功能需要大约5秒钟才能完成,我想展示一个"等待"函数运行时的消息。

这是我的代码:

if (puntos_rectangulos_estereotaxia.Count == 4)
{
    generar_puntos_rectangulo_por_imagen(); //This takes 5 seconds
}

如何显示带有文字的弹出窗口"等待"?我尝试了一个消息框,但我的功能一直没有运行,直到用户点击" OK"所以必须有另一种方法来做到这一点..

private void generar_puntos_rectangulo_por_imagen()
{
    Point Inicial_izquierdo_inf = new Point(puntos_rectangulos_estereotaxia[0].X, puntos_rectangulos_estereotaxia[0].Y);
    Point Inicial_derecho_sup = new Point(puntos_rectangulos_estereotaxia[1].X, puntos_rectangulos_estereotaxia[1].Y);
    Point Final_izquierdo_inf = new Point(puntos_rectangulos_estereotaxia[2].X, puntos_rectangulos_estereotaxia[2].Y);
    Point Final_derecho_sup = new Point(puntos_rectangulos_estereotaxia[3].X, puntos_rectangulos_estereotaxia[3].Y);

    puntos_rectangulos_estereotaxia.Clear();
    int wu = 24;

    for (int i = 0; i < img.Count; ++i)
    {
        // Time consuming calculations
    }
}

1 个答案:

答案 0 :(得分:0)

在项目中添加一个新表单并在其上写上Wait,然后在需要向用户显示等待消息时显示该表单。

例如,您的新表单名称为PopUp。在该方法之前创建其实例,并在以后处置它:

if (puntos_rectangulos_estereotaxia.Count == 4)
{
    PopUp popup = new PopUp(); //create instance
    popup.Show(); //display popup

    generar_puntos_rectangulo_por_imagen(); //This takes 5 seconds

    popup.Dispose(); //close popup
}

其他

您还可以更新显示的消息。在Popup class:

中创建方法
public void SetMessage(string message)
{
    this.lblMessage.Text = message;
}

调用:

if (puntos_rectangulos_estereotaxia.Count == 4)
{
    PopUp popup = new PopUp(); //create instance
    popup.SetMessage("Wait ! It'll take few seconds to complete."); //set message
    popup.Show(); //display popup

    generar_puntos_rectangulo_por_imagen(); //This takes 5 seconds

    popup.Dispose(); //close popup
}