public virtual void setControlText(Control Control, String Text) { if (this.InvokeRequired) { SetControlTextDelegate dele = new SetControlTextDelegate(setControlText2); this.Invoke(dele, new object[] { Control, Text }); } else { setControlText2(Control, Text); } }
/// <summary> /// </summary> /// <param name="speedTestInput"></param> private static void GetSpeedTestResult( [CanBeNull] object speedTestInput) { var speedTestsInput = ( SpeedTestsInput )speedTestInput; if (speedTestsInput != null) { var testsResults = Handler.PerformSpeedTest (speedTestsInput); var testsResult = string.Empty; foreach (var testResult in testsResults) { var statusCaption = string.Empty; if (testResult != null) { switch (testResult.TestStatus) { case TaskStatus.ActionStatus.Error: statusCaption = Handler.SpeedTestError; break; case TaskStatus.ActionStatus.Fail: statusCaption = Handler.SpeedTestFail; break; case TaskStatus.ActionStatus.Ok: statusCaption = string.Empty; break; case TaskStatus.ActionStatus.Unknown: statusCaption = Handler .DisconnectOrInvalidConnection; break; } var testResultAsString = $"{statusCaption}{testResult.ToColumn( )}"; testsResult = $"{testsResult}{testResultAsString}{Environment.NewLine}"; } } var setControlText = new SetControlTextDelegate (SpeedTestForm.SetControlText); var textControl = speedTestsInput.ResultOutputControl; textControl?.BeginInvoke ( setControlText, textControl, testsResult); } var onExecutableFinish = speedTestsInput?.SpeedTestForm?.OnExecutableFinish; onExecutableFinish?.Invoke(); }