C#.net是否使用另一个窗体停止窗体的计时器?

C#.net是否使用另一个窗体停止窗体的计时器?,c#,timer,C#,Timer,我怎样才能停止里面的计时器…(比如form1) 我什么时候在form2 我尝试了timer1.enabled=false; 在我上form2之前 但我不知道为什么它还在运行 在我到达form2之前。。我把表格藏起来 用这个。可见=假 首先你应该看看这篇文章 看@Jon Limjap的回答 您可以创建控制其可见性的属性,而不是将控件公开: public boolean ControlIsVisible { get { return control.Visible; } se

我怎样才能停止里面的计时器…(比如form1) 我什么时候在form2

我尝试了timer1.enabled=false; 在我上form2之前

但我不知道为什么它还在运行

在我到达form2之前。。我把表格藏起来
用这个。可见=假

首先你应该看看这篇文章

看@Jon Limjap的回答


您可以创建控制其可见性的属性,而不是将控件公开:

public boolean ControlIsVisible
{
     get { return control.Visible; }
     set { control.Visible = value; }
}

这将为该控件创建一个适当的访问器,该访问器不会公开该控件的整个属性集。

首先,您应该阅读本文

看@Jon Limjap的回答


您可以创建控制其可见性的属性,而不是将控件公开:

public boolean ControlIsVisible
{
     get { return control.Visible; }
     set { control.Visible = value; }
}

这将为该控件创建一个适当的访问器,该访问器不会公开该控件的整个属性集。

创建了一个包含两个表单的测试项目。 我在表格上有一个计时器和一个按钮。 计时器在Form1构造函数中启动。 当您按下按钮时,计时器停止,新的Form2打开,Form1隐藏

代码如下:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        timer1.Enabled = true;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        timer1.Enabled = false;
        Visible = false;
        new Form2().Show();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        Text = DateTime.Now.ToString();
    }
}
计时器停止,没有问题


你能提供你所拥有的代码吗?

制作了一个带有两个表单的测试项目。 我在表格上有一个计时器和一个按钮。 计时器在Form1构造函数中启动。 当您按下按钮时,计时器停止,新的Form2打开,Form1隐藏

代码如下:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        timer1.Enabled = true;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        timer1.Enabled = false;
        Visible = false;
        new Form2().Show();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        Text = DateTime.Now.ToString();
    }
}
计时器停止,没有问题


你能提供你拥有的代码吗?

使用timer1.Stop()怎么样<代码>停止和
启用=错误
是等效的。如果您查看Stop方法的实现,您将看到一行
Enabled=false使用timer1.Stop()如何<代码>停止
启用=错误
是等效的。如果您查看Stop方法的实现,您将看到一行
Enabled=false您好,感谢您的回复,我的代码与您给出的代码一样简单。。你能解释一下这句话吗。。。可见=假;谁变得可见=错误?计时器?对不起,我弄糊涂了。。我只是从vb6切换到C 35;
Visible
Form1
类的一个属性。您还可以执行
this.Visible=false,但这有点多余。@亚历克斯-我认为@Katherina的问题是使用
这个的一个很好的论据。
;很明显,它与
这个
有关,但就像合理命名的变量一样,它应该可以帮助其他程序员看到发生了什么。@Kirk-如果您遵循Microsoft命名指南,很容易判断Visible是当前类的一个属性。它是用帕斯卡表示法。字段和局部变量应该遵循骆驼符号。@Katherina-为什么我给了你工作代码示例,而你却把与你的问题无关的答案标记为答案?我只是想了解这个答案是如何帮助你的。嗨,感谢你的回复,我的代码和你给出的代码一样简单。。你能解释一下这句话吗。。。可见=假;谁变得可见=错误?计时器?对不起,我弄糊涂了。。我只是从vb6切换到C 35;
Visible
Form1
类的一个属性。您还可以执行
this.Visible=false,但这有点多余。@亚历克斯-我认为@Katherina的问题是使用
这个的一个很好的论据。
;很明显,它与
这个
有关,但就像合理命名的变量一样,它应该可以帮助其他程序员看到发生了什么。@Kirk-如果您遵循Microsoft命名指南,很容易判断Visible是当前类的一个属性。它是用帕斯卡表示法。字段和局部变量应该遵循骆驼符号。@Katherina-为什么我给了你工作代码示例,而你却把与你的问题无关的答案标记为答案?我只是想了解这个答案是如何帮助你的。我不知道这有什么关系。首先,问题中没有提到控件是否作为公共字段或属性访问。其次,这如何影响计时器功能?你们的意思是说,若定时器是通过属性访问的,那个么它将按预期运行,但若通过字段访问它,它将不会停止?我也想看到一些答案。。我还不知道.net对这种编码有何反应。谢谢你的提拔,我不知道这有什么关系。首先,问题中没有提到控件是否作为公共字段或属性访问。其次,这如何影响计时器功能?你们的意思是说,若定时器是通过属性访问的,那个么它将按预期运行,但若通过字段访问它,它将不会停止?我也想看到一些答案。。我还不知道.net对这种编码有何反应。谢谢你给我加薪,亚历克斯