如何在循环之前执行循环内的所有函数?

时间:2015-11-17 14:55:41

标签: c# for-loop

请帮助我,我想将我的pictureBox设置为仅显示1秒,然后再次隐藏它再进入下一个循环。这是我的代码。

private void sampleTxt_Validated(object sender, EventArgs e)
{
    words = "AB"
    char[] ch = words.ToCharArray();
    for (int i = 0; i < ch.Length; i++)
    {
        if (ch[i] == 'A')
        {
            a = true;
            Application.Idle += imageA;
        }
        else if (ch[i] == 'B')
        {
            b = true;

            Application.Idle += imageB;
        }
    }
}

private void imageA(object sender, EventArgs arg)
{
    TimeSpan ts;            
    if(a == true) 
    {
        letterA.Visible = true;
        stopWatchA.Start();
        ts = stopWatchA.Elapsed;
        if (ts.Seconds >= 1)
        {
            stopwatch();
            letterA.Visible = false;
            a = false;                   
        }
    }
}

private void imageB(object sender, EventArgs arg)
{
    TimeSpan ts;
    if (b == true)
    {
        letterB.Visible = true;
        stopWatchB.Start();
        ts = stopWatchB.Elapsed;
        if (ts.Seconds >= 0.5)
        {
            stopwatch();
            letterB.Visible = false;
            b = false;
        }
    }
}

我的代码的问题是它同时显示两个图像。 我想要显示字母&#34; A&#34;在再次循环以显示第二个图像之前,首先显示1秒的图像。那可能吗?

1 个答案:

答案 0 :(得分:0)

你需要在letterB上使用循环,也可以将计时器从0.5更改为1.0