protected override void OnClosing(CancelEventArgs e)
 {
     sop          = SendingOption.Default;
     nick         = null;
     info         = null;
     this.Visible = false;
     e.Cancel     = true;
 }
 void _securityWatcher_OnEmergencyCall(object sender, ClientEventArgs.EmergencyCallEventArgs e)
 {
     if (_showSecurityGUI)
     {
         sop  = SendingOption.EmergencyCall;
         info = e.cdiaID;
         AddLog(string.Format("<Notruf> cdiaID: {0}", e.cdiaID));
         AddLog(string.Format("<Notruf> Fallnummer: {0}", e.Casenumber));
         AddLog(string.Format("<Notruf> Grund: {0}", e.Reason));
         AddLog(string.Format("<Notruf> Beschwerdeführer: {0}", e.User));
         AddLog(string.Format("<Notruf> Userkommentar: {0}", e.Usercomment));
         Show();
     }
 }
        void _securityWatcher_OnAction(object sender, ClientEventArgs.SecurityWatcherEventArgs e)
        {
            switch (e.Reason)
            {
            case SecurityWatcherEventArgs.SecurityAlertReason.BotCheck:
                int code = e.Code;
                sop = SendingOption.Default;
                new Thread(delegate()
                {
                    Thread.Sleep(new Random().Next(20000, 60000));
                    _client.SendUserInput(string.Format("/ok {0}", code));
                }).Start();
                break;

            case SecurityWatcherEventArgs.SecurityAlertReason.SendUserInputForMe:
                _client.SendUserInput(e.ToSend);
                sop = SendingOption.Default;
                break;

            case SecurityWatcherEventArgs.SecurityAlertReason.Private:
                if (_showSecurityGUI)
                {
                    sop  = SendingOption.Private;
                    nick = e.AdminNick;
                    AddLog(string.Format("<Private> {0}: {1}", e.AdminNick, e.Message));
                    Show();
                }
                break;

            case SecurityWatcherEventArgs.SecurityAlertReason.Invite:
                int Code = e.Code;
                sop = SendingOption.Default;
                new Thread(delegate()
                {
                    Thread.Sleep(new Random().Next(5000, 20000));
                    _client.SendUserInput(string.Format("/ok {0}", Code));
                }).Start();
                break;

            case SecurityWatcherEventArgs.SecurityAlertReason.Joined:
                if (_showSecurityGUI)
                {
                    sop = SendingOption.Default;
                    AddLog(string.Format("<Joined> Der Admin {0} hat den Channel betreten", e.AdminNick));
                    Show();
                }
                break;

            case SecurityWatcherEventArgs.SecurityAlertReason.Mail:
                if (_showSecurityGUI)
                {
                    sop  = SendingOption.Mail;
                    nick = e.AdminNick;
                    info = e.Subject;
                    AddLog(string.Format("<Mail> Sender: {0}", e.AdminNick));
                    AddLog(string.Format("<Mail> Betreff: {0}", e.Subject));
                    AddLog(string.Format("<Mail> Nachricht: {0}", e.Message));
                    AddLog(string.Format("<Mail> Signatur: {0}", e.Signature));
                    Show();
                }
                break;

            case SecurityWatcherEventArgs.SecurityAlertReason.Public:
                if (_showSecurityGUI)
                {
                    sop  = SendingOption.Public;
                    info = e.Channel;
                    AddLog(string.Format("<Public> {0}: {1}", e.AdminNick, e.Message));
                    Show();
                }
                break;
            }
        }