簡體   English   中英

如何在循環中逐個字符串顯示 label 上的字符串數組?

[英]How to display array of strings on a label in string by string in a loop?

此代碼現在位於 form1 構造函數中。

if (filesRadar.Length > 0)
                            {
                                for (int i = 0; i < filesRadar.Length; i++)
                                {
                                    label2.Text = dates[i].ToString("ddd, dd MMM yyy HH':'mm");
                                }
                            }

我想在調用構造函數中的方法或其他內容時以及在下載完成時等其他地方顯示日期字符串。 每次調用方法或啟用計時器以特定速度循環顯示字符串。

現在它正在顯示,但太快了,最后只顯示最后一項並且它不在循環中。

你可以把它作為一個 void 方法,你可以隨時調用我猜。

    public void ReportTime()
    {
            for (int i = 0; i < filesRadar.Length; i++)
                label2.Text += dates[i].ToString("ddd, dd MMM yyy HH':'mm") + Environment.NewLine;
    }
    

或啟用計時器以特定速度循環顯示字符串。

是什么阻止你這樣做?...

將計時器放在表單上並將其Interval屬性設置為合理的值。 例如,1000 的間隔意味着它每秒都在變化。 確保定時器已打開(啟用)。

現在將i變量移出到 class 級別並擺脫for循環:

private int i = -1;

private void timer1_Tick(object sender, EventArgs e)
{
    if (filesRadar.Length > 0)
    {
        i++;
        if (i >= filesRadar.Length)
        {
            i = 0;
        }                
        label2.Text = dates[i].ToString("ddd, dd MMM yyy HH':'mm");                
    }
    else
    {
        label2.Text = ""; // optional?
    }
}

您不需要if-statement ,因為只有在數組中有項目時才會執行循環:

for (int i = 0; i < filesRadar.Length; i++)
{
    label2.Text += dates[i].ToString("ddd, dd MMM yyy HH':'mm") + Enviroment.NewLine;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM