private async Task StartOperationAsync(string IP, CancellationToken CancellationToken = default) { int Counter = 0; await foreach (var Result in IPChecker.CheckIPAsync(Tools.ReverseIP(IP), CancellationToken)) { if (Tools.IsIPOk(Result.Value)) { if (ResultBox.InvokeRequired) { ResultBox.BeginInvoke(new Action(() => { ResultBox.Text += $"{Counter} - {DateTime.Now.ToLongTimeString()} - {Result.Key} >>> OK!{Environment.NewLine}"; })); } else { ResultBox.Text += $"{Counter} - {DateTime.Now.ToLongTimeString()} - {Result.Key} >>> OK!{Environment.NewLine}"; } } else { if (ResultBox.InvokeRequired) { ResultBox.BeginInvoke(new Action(() => { ResultBox.Text += $"{Counter} - {DateTime.Now.ToLongTimeString()} - {Result.Key} >>> BLOCKED!{Environment.NewLine}"; })); } else { ResultBox.Text += $"{Counter} - {DateTime.Now.ToLongTimeString()} - {Result.Key} >>> BLOCKED!{Environment.NewLine}"; } } Counter++; } ResultBox.Text += $"{DateTime.Now.ToLongTimeString()} - Finished!{Environment.NewLine}"; }