C#计时器未停止
本文关键字:计时器 | 更新日期: 2023-09-27 18:00:01
以下是我所拥有的,为什么我的计时器没有停止?我不确定我做错了什么。我对C#还很陌生,我正在努力让我的启动屏幕隐藏起来(form1),我的程序启动(samptool),但我的程序开始了,但启动屏幕保持不变,计时器重置而不是停止。每隔6.5秒,应用程序就会在一个新窗口中打开。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Timers;
namespace SplashScreen.cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1.Interval = 250;
timer2.Interval = 6500;
timer1.Start();
timer2.Start();
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
this.progressBar1.Increment(5);
}
private void timer2_Tick(object sender, EventArgs e)
{
SampTool w = new SampTool();
Form1 m = new Form1();
timer1.Enabled = false;
timer1.Stop();
timer2.Enabled = false;
timer2.Stop();
m.Hide();
w.Show();
}
}
}
当您使用new
关键字时,您将创建一个类的新实例:
Form1 m = new Form1();
创建新实例时,会调用constructor
(构造函数是与类名称相同的方法)
这将再次运行构造函数中的所有代码,从而创建新的计时器。
要关闭当前表单,只需运行表单Hide
方法:
private void timer2_Tick(object sender, EventArgs e)
{
timer1.Stop();
timer2.Stop();
SampTool sampTool = new SampTool();
sampTool.Show();
Hide(); // call the Forms Hide function.
}