显示";等待”;消息

本文关键字:消息 等待 显示 quot | 更新日期: 2023-09-27 18:25:23

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

这是我的代码:

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

如何显示带有文本"等待"的弹出窗口?我尝试了一个消息框,但直到用户单击"确定",我的功能才会运行,所以必须有另一种方法。。

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
    }
}

显示";等待”;消息

在项目中添加一个新表单,并在上面写入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类中创建一个方法:

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
}