закрытие формы через определенное время после открытия

после сборки появляется ошибка System.InvalidOperationException: "Недопустимая операция в нескольких потоках: попытка доступа к элементу управления 'Form2' не из того потока, в котором он был создан." как это решить?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Timers;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class Form2 : Form
{
    private static System.Timers.Timer aTimer;

    public Form2()
    {
        InitializeComponent();
    }
    private void Form2_Load(object sender, EventArgs e)
    {
        // Create a timer with a ten second interval.
        aTimer = new System.Timers.Timer(10000);

        // Hook up the Elapsed event for the timer.
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        // Set the Interval to 2 seconds (2000 milliseconds).
        aTimer.Interval = 2000;
        aTimer.Enabled = true;




    }
    public void OnTimedEvent(object source, ElapsedEventArgs e)
    {
    Invoke.Close(); 

    }

}


}

В общем решил таким образом, большое спасибо за советы:

namespace WindowsFormsApp1
{
public partial class Form2 : Form
{

    public Form2()
    {
        InitializeComponent();
        counter = 0;
        timer1.Interval = 600;
        timer1.Enabled = true;
        this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
    }
    private int counter;

    private void timer1_Tick(object sender, System.EventArgs e)
    {
        if (counter >= 7)
        {
            timer1.Enabled = false;
            counter = 0;
            this.Close();
        }
        else
        {
            counter = counter + 1;
        }
    }



}

}

Ответы (0 шт):