C#中的计时器在应用程序启动时启动,而不是在我按下按钮时启动

时间:2018-11-14 16:00:27

标签: c#

感谢您的帮助。我是一个初学者,并且即将开始学习C#编程。

我有一个带有2个按钮的表单(“ ThisProgram”)。 第一个按钮(“确定”)应该关闭表格并启动外部程序。 第二个按钮(“稍后”)应该隐藏表格并在2分钟后再次显示。 textBox1只是供我查看计时器的工作原理。

我有2个问题:

1)即使您不单击“后来”,如果您单击“以后”,则应该再次打开窗口的计时器(ThisProgram.exe)也会启动。

2)Hide(); ...将该行放到那里后,它将在2分钟内打开窗口,然后又在2分钟后再次打开,以此类推,直到永远。

这是我的代码:

/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
    public MainForm()
    {
        //
        // The InitializeComponent() call is required for Windows Forms designer support.
        //
        InitializeComponent();

        //
        // TODO: Add constructor code after the InitializeComponent() call.
        //
    }

    int duration = 0;

    void Timer1Tick(object sender, EventArgs e)
    {
        duration++;
        textBox1.Text = duration.ToString();
        System.Diagnostics.ProcessStartInfo start = new System.Diagnostics.ProcessStartInfo();
        start.FileName = @"C:\ThisProgram.exe";
        Process.Start(start);
        if (duration == 1)
        {
            Timer.Stop();
        }
    }

    void LaterClick(object sender, EventArgs e)
    {
        Timer.Enabled = true;
        Timer.Start();
        Hide();
    }

    void OKClick(object sender, EventArgs e)
    {
        System.Diagnostics.ProcessStartInfo start = new System.Diagnostics.ProcessStartInfo();
        start.FileName = @"C:\OtherExternalProgram.exe";
        Process.Start(start);
        Application.Exit();
    }
}

在此先感谢您的帮助。如果代码中还有其他错误或奇怪之处,请告诉我。

0 个答案:

没有答案