thread C# windows form

у меня есть форма, на ней проигрывается видео, и есть check box нажимая на который с видео должны начать сохраняться кадры в виде фото. Проблема в том что в потоке используется this, и оно ругается,нельзя передавать в другой поток элемент формы, как исправить эту ошибку? вот поток и в нём код который сохраняет изображение.

private void checkBox1_Click(object sender, EventArgs e)
    {
        if (checking == 1)
        {
            cancel = false;
            Task.Run(() =>
            {
                while (cancel==false)
                {
                    if (!string.IsNullOrEmpty(WMP.URL))
                    {
                        //WMP.Ctlcontrols.pause();

                        System.Drawing.Image ret = null;
                        try
                        {

                            // take picture BEFORE saveFileDialog pops up!!
                            Bitmap bitmap = new Bitmap(970, 500);
                            {
                                Graphics g = Graphics.FromImage(bitmap);
                                {
                                    Graphics gg = WMP.CreateGraphics();
                                    {
                                        //timerTakePicFromVideo.Start();
                                        this.BringToFront();
                                        g.CopyFromScreen(
                                             WMP.PointToScreen(
                                                new System.Drawing.Point()).X,
                                             WMP.PointToScreen(
                                                new System.Drawing.Point()).Y,
                                            -70, -40,
                                            new System.Drawing.Size(
                                                  2349, 551)
                                            );
                                        System.Threading.Thread.Sleep(50);
                                    }
                                }
                                // afterwards save bitmap file if user wants to

                                using (MemoryStream ms = new MemoryStream())
                                {
                                    bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                                    ret = System.Drawing.Image.FromStream(ms);
                                    ret.Save(folder + "/img" + number + ".jpg");
                                    number += 1;
                                }

                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("error: "+ ex);
                        }

                    }
                }
            }
            );
            checking = 0;
        }
        else
        {
            cancel = true;
            checking = 1;
        }
    }

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

Автор решения: Nikitos kotov

Решением был ответ в коментариях, продублирую его сюда что бы было видно.

Invoke((Action)(() => BringToFront()));
→ Ссылка