C# 在这里显示下一个工具提示之前,我如何等待5秒钟?

C# 在这里显示下一个工具提示之前,我如何等待5秒钟?,c#,winforms,timer,C#,Winforms,Timer,我相信我在这里遵循了大多数指导原则,所以希望这个问题不是不合适的。首先,我已经用谷歌搜索过了,但老实说,我不知道在这种情况下用谷歌搜索什么。这是一个措辞奇怪的问题 基本上,我的困境是:我试图让两个角色进行对话,使用Winforms和C。用户控件上只有两个静态用户在来回交谈,但用户可以使用按钮选择他对另一个角色说的话。每当用户按下按钮说话时,我希望另一个角色用类似speechbubble的工具提示进行回复 public void button1_Click(object sender, Event

我相信我在这里遵循了大多数指导原则,所以希望这个问题不是不合适的。首先,我已经用谷歌搜索过了,但老实说,我不知道在这种情况下用谷歌搜索什么。这是一个措辞奇怪的问题

基本上,我的困境是:我试图让两个角色进行对话,使用Winforms和C。用户控件上只有两个静态用户在来回交谈,但用户可以使用按钮选择他对另一个角色说的话。每当用户按下按钮说话时,我希望另一个角色用类似speechbubble的工具提示进行回复

public void button1_Click(object sender, EventArgs e)
{
    if (conversationStage == 1)
    {
        speech.createSpeech("Response to dialog 1-1.", new Point(420, 250), this, 5000);
        caseSwitch++;
        buttonSwitcher();
    }
我希望做的事情是这样的:

public void button1_Click(object sender, EventArgs e)
{
    if (conversationStage == 1)
    {
        speech.createSpeech("Response to dialog 1-1.", new Point(420, 250), this, 5000);
        Wait(5);
        speech.createSpeech("Next speechbubble here..." <other parameters>);
        caseSwitch++;
        buttonSwitcher();
    }
public void按钮1\u单击(对象发送者,事件参数e)
{
if(会话阶段==1)
{
createSpeech(“对对话框1-1的响应”,新点(420250),this,5000);
等待(5);
createSpeech(“这里是下一个speechbubble…”);
caseSwitch++;
按钮开关();
}
当然,这实际上是行不通的。在有人决定建议我使用
线程.睡眠
之前,我已经尝试过了,因为它停止了所有GPU更新,这意味着speechbubble永远不会呈现,这是不好的。我相信我唯一的选择是使用典型的Winforms计时器,但我似乎无法操纵它们(我只是不知道如何)在某种程度上,我可以简单地将它集成到这里的if语句中


我现在陷入困境,不知道如何继续。

使用
.NET 4.5
您可以使用新的
异步/wait
框架睡眠,而不锁定线程


查看这篇文章

你使用的是哪个版本的.NET framework?我现在很困惑。我应该删除这个问题还是留在这里以备将来参考?正如我已经解释过的,我不知道要查找什么,这就是我找不到答案的原因。没关系,不用担心。如果需要删除,请主持或者将删除它。太好了!这正是我要找的。谢谢你,纳兹穆尔。想想我刚刚花了4个小时试图操作Winforms计时器。。。