C# - 按下按钮继续程序流程

时间:2015-12-09 06:51:33

标签: c# winforms

我在c#winforms中有一个小对话游戏,需要暂停程序流程直到用户按下按钮。
目前这是生成标签的代码:

Label displayText;
public void createDisplayText ( string message, bool continueOnButton = true )
{
    displayText = new Label()
        {
            Location = new Point(300, 30),
            Font = new Font("Consolas", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))),
            ForeColor = Color.White,
            BackColor = Color.Black,
            Size = new Size(img.Width - 70, img.Height - 50),
            Text = message
        };
    if ( continueOnButton )
        textKeyPress = true;
    Controls.Add(displayText);
}
public void hideDisplayText ()
{
    if ( displayText != null )
        displayText.Dispose();
}

在Form_KeyDown方法中,我输入了以下内容:

if (textKeyPress)
    {
        if (e.KeyCode == Keys.Space)
           hideDisplayBox();
    }

问题:
如何在程序代码中输入此代码,以便程序等待隐藏文本并然后恢复。
呼叫(如果可能)不应该比

更复杂
createDisplayText ( "Some sort of message" );

我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:2)

为UI和程序流使用不同的线程。如果需要你想要的东西,把程序流线程置于睡眠状态,然后在隐藏消息后使用UI调用唤醒它,或者只是给它一个计时器。