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

      protected override void OnLoad(EventArgs e)
      {
         base.OnLoad(e);
         var token = new CancellationTokenSource().Token;
         Task.Factory.StartNew (() => {
            while (!token.IsCancellationRequested) {
               try {
                  if (/*Condition*/)
                     this.Invoke(new Action(() => label.Text = " =)"));
                  else
                     this.Invoke(new Action(() => label.Text = " =("));
                  Thread.Sleep(10);
               }
               catch (Exception) {
                  throw;
               }
               finally {
                  throw new Exception();
               }
            }
         }) ;
      }
   }

My collegue's way of using multithreading features (and exceptions handling) :)

By Loganjii, 2019-10-09 15:00:18