如何从第二种形式开始计时器开始

时间:2017-04-14 12:07:23

标签: c#

我已经尝试过多次访问和更改Control的属性,如Timer 这个我的代码请帮帮我

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}

public partial class Form2 : Form
 { 
    public Form2()
    {
        InitializeComponent();   
    }

    private void button2_Click(object sender, EventArgs e)
    {
        Form1 frm = new Form1();
        frm.timer1.Enabled = true;      
    }
}

我还试图过度加载构造函数

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
 }

 public partial class Form2 : Form
 { 
    Form1 mainform; 

    public Form2(Form1 mainform)
    {
        InitializeComponent();
        this.mainform=mainform;
    }

    public Form2()
    {
        InitializeComponent();   
    }

    private void button2_Click(object sender, EventArgs e)
    {
        mainform.timer1.Enabled = true;           
    }
}

当我使用构造函数重载时,发生异常错误,如找不到对象引用 请帮我 .................... 感谢并尊重穆罕默德阿扎姆汗

2 个答案:

答案 0 :(得分:1)

Form1中的

 public bool TimerEnable{
      get{ return  timer1.Enabled;}
      set{
            timer1.Enabled = value;
      }
 }
Form2中的

 private void button2_Click(object sender, EventArgs e)
 {
    Form1 frm = new Form1();
    frm.TimerEnable = true;
 }

答案 1 :(得分:0)

如果你写了如何用代码调用它,我们可能会更有帮助。这个异常说当你调用From2时,你不要使用重载构造函数。

andActiveTrue

也许你知道这件事。如果你打电话给这个

 public Form2(Form1 mainform)
    {
        InitializeComponent();
        this.mainform=mainform;

    }
  public Form2()
    {
        InitializeComponent();


    }

Mainform应为null,因此抛出此异常。检查您的Form2被叫代码。