c# - 我需要在计时器刻度内的按钮单击对象上使用 if 语句吗?

标签 c# timer

基本上在下面我突出显示的代码中,我想知道如何在按下该按钮 (btnDisplayBricks) 时在计时器刻度中使用 drawBricks 方法。因为我正在为纸质绘图等使用计时器刻度和图片框,所以我不能简单地从按钮单击事件中调用该方法,因为纸张随后会在计时器中清除,只允许我在 timer1 开始任何想法之前显示积木。

private void timer1_Tick(object sender, EventArgs e)
    {
        paper.Clear(Color.LightSteelBlue);

        DrawBall();

        MoveBall();

        DrawBat(paper);

        if (btnDisplayBricks_Click[0] = true)               ///code here problem

        //then call method
            DrawBricks(paper);




    private void btnDisplayBricks_Click(object sender, EventArgs e)
    {
        DrawBricks(paper);
    }

}

最佳答案

问题出在你的等式上,你应该使用==而不是=

if (btnDisplayBricks_Click[0] == true) 

还将方法 btnDisplayBricks_Click 移到 timer1_Tick 之外

private bool buttonClicked = false;

private void timer1_Tick(object sender, EventArgs e)
{
    paper.Clear(Color.LightSteelBlue);
    DrawBall();
    MoveBall();
    DrawBat(paper);

    if (buttonClicked)
    {
        DrawBricks(paper);
        // maybe you want to set buttonclicked to false again, but specs are not clear to me
        // buttonClicked = false;
    }
}

private void btnDisplayBricks_Click(object sender, EventArgs e)
{
    DrawBricks(paper);
    buttonClicked = true;
}

关于c# - 我需要在计时器刻度内的按钮单击对象上使用 if 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20130642/

相关文章:

c# - 没有模型和 Entity Framework 的 ASP.NET MVC

c# - PCL - 对于某些目标,无法从 Func<IThing<T>> 转换为 Func<Object>

java - Android 定时器不精确

C# - 你如何停止计时器?

c# - 在特定时间播放WAV?

swift - 计时器未触发(timeInterval 始终 == 0.0)

c# - Entity Framework 代码优先和数据库优先错误/冲突

C# 作为第一门语言?

c# - 在 Mac 上学习 C#?

python - 使用 python-asyncio 创建对绑定(bind)方法的临时异步计时器回调