void Logger_OnRecieveErrorLog(object sender, ErrorLogEventArgs e) { if (InvokeRequired) { BeginInvoke((MethodInvoker) delegate { Logger_OnRecieveErrorLog(sender, e); }); return; } using (var errors = new ErrorDialog(e.Exception)) { switch (errors.ShowDialog()) { case System.Windows.Forms.DialogResult.Ignore: return; case System.Windows.Forms.DialogResult.Cancel: DialogResult = System.Windows.Forms.DialogResult.Cancel; break; case System.Windows.Forms.DialogResult.Retry: //TODO: Report it return; } } this.Close(); }
private void ErrLog_ErrorLogged(object sender, ErrorLogEventArgs e) { // this can come from non-UI thread, so we need to use Invoke var action = new Action(() => { Log(e.Exception.ToLogString()); }); this.Invoke(action); Application.DoEvents(); MessageBox.Show(e.Exception.Message, "Error"); }
void Logger_OnRecieveErrorLog(object sender, ErrorLogEventArgs e) { if (InvokeRequired) { BeginInvoke((MethodInvoker) delegate { Logger_OnRecieveErrorLog(sender, e); }); return; } txtLog.AppendLog("&4\t------[Error]-----" + Environment.NewLine); txtLog.AppendLog("&4\t" + e.Message + Environment.NewLine); txtLog.AppendLog(Environment.NewLine); }