//此方法支持在自动判断是否在非创建线程中被调用 private void UpdateUi(string message, DateTime messageAt) { string value = string.Format("{0}{1}", message, AutoAppendLine ? Environment.NewLine : string.Empty); if (WithDatePrefix) { value = messageAt.ToString("yyyy-MM-dd HH:mm:ss:fff") + " => " + value; } if (InvokeControl.InvokeRequired) { InvokeControl.BeginInvoke(UpdateUiMessage, value); //InvokeControl.Invoke(UpdateUiMessage, value); } else { UpdateUiMessage(value); } }
//此方法支持在自动判断是否在非创建线程中被调用 private void UpdateUi(string message, DateTime messageAt) { string value = string.Format("{0}{1}", message, AutoAppendLine ? Environment.NewLine : string.Empty); if (WithDatePrefix) { value = messageAt.ToString("yyyy-MM-dd HH:mm:ss:fff") + " => " + value; } if (InvokeControl.InvokeRequired) { //https://www.cnblogs.com/Rustle/articles/11301.html //https://www.cnblogs.com/worldreason/archive/2008/06/09/1216127.html //InvokeControl.Invoke(UpdateUiMessage, value); InvokeControl.BeginInvoke(UpdateUiMessage, value); } else { UpdateUiMessage(value); } }