首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计时器在日志中写入两次

计时器在日志中写入两次
EN

Stack Overflow用户
提问于 2013-05-24 18:43:27
回答 1查看 338关注 0票数 0

除了一件事,一切都很好。我的程序打印“玩家命中”2次,然后“暴击”2次,然后“玩家命中”2次,等等。我要它键入“玩家命中”、“暴击”、“玩家命中”、“暴击”等等。我不明白它为什么要键入2次。

我的代码如下所示:

代码语言:javascript
复制
public partial class Form1 : Form
{
    public Form1()
    {
        int Rase1 = 0;

        InitializeComponent();

        timer1.Tick += new EventHandler(timer1_Tick);
        timer1.Interval = (1000);
        timer1.Enabled = false;

        timer2.Tick += new EventHandler(timer2_Tick);
        timer2.Interval = (1000);
        timer2.Enabled = false;
    }

    private void buttonChoseRase_Click(object sender, EventArgs e)
    {
        if (Rase1 == 0)
        {
            Rase1 = 1;
            Rase Rase = new Race(this);
            Rase.Show();
        }
        else if (Race1 >= 1)
        {
            buttonChoseRase.Enabled = false;

            Rebirth Reb = new Rebirth(this);
            Reb.Show();
        }
    }

    private void buttonStart_Click(object sender, EventArgs e)
    {
        textBoxCombatLog.Text = "";

        buttonStart.Enabled = false;
        buttonStop.Enabled = true;

        timer1.Start();

        timer2.Stop();
    }

    private void buttonStop_Click(object sender, EventArgs e)
    {
        buttonStart.Enabled = true;
        buttonStop.Enabled = false;

        timer1.Stop();
        timer2.Stop();
    }

    private void LogWrite(string txt)
    {
        textBoxCombatLog.AppendText(txt + Environment.NewLine);
        textBoxCombatLog.SelectionStart = textBoxCombatLog.Text.Length;
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        LogWrite(TimeDate + "Player Hit \n");

        timer1.Stop();

        timer2.Start();
    }

    private void timer2_Tick(object sender, EventArgs e)
    {
        LogWrite(TimeDate + "Mob Hit \n");

        timer2.Stop();

        timer1.Start();
    }

    private string TimeDate
    {
        get { return "[" + DateTime.Now.ToString("HH:mm:ss") + "]" + ": "; }
    }
}

这就是跑步的样子,不管我做什么,每件事都会出现两次:

EN

回答 1

Stack Overflow用户

发布于 2013-05-24 19:18:48

除了通过代码文件本身,您还通过设计器将事件处理程序附加到计时器的Tick事件。你得把两个中的一个移走。要么在代码中附加事件处理程序,要么通过设计器附加它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16741646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档