Feedback

C# - UIthread-Invoke vom Backgroundworker aus

Veröffentlicht von am 04.03.2016
(0 Bewertungen)
UIthread-Invoke vom Backgroundworker aus um Cross-Thread-Exceptions zu vermeiden.
using System;
using System.Windows.Forms;

namespace UIThreadInvokeExample
{
    public static class UIThreadInvokeClass
    {
        static public void UIThread(this Control control, Action code)
        {
            if (control.InvokeRequired)
            {
                control.BeginInvoke(code);
                return;
            }
            code.Invoke();
        }

        static public void UIThreadInvoke(this Control control, Action code)
        {
            if (control.InvokeRequired)
            {
                control.Invoke(code);
                return;
            }
            code.Invoke();
        }
    }
}

//Benutzen
using UIThreadInvokeExample;
 this.UIThreadInvoke(() =>
 {
      //You GUI code here         
 });

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!