Пример #1
0
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (e.CloseReason == CloseReason.UserClosing)
     {
         isFormClosing = true;
         WebSocketManager.CloseWebSocket();
     }
 }
Пример #2
0
 private void LoginForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     // GM用户点击关闭登录窗口,会强制将整个软件关闭
     // 注意:当登录成功,执行LoginForm的Hide方法时,仍旧会触发LoginFrom的closing和closed方法
     // 如果不加上这个判断,就会因为LoginForm的Hide,执行下面的逻辑,导致WebSocket被关闭
     if (e.CloseReason == CloseReason.UserClosing)
     {
         WebSocketManager.CloseWebSocket();
         Environment.Exit(0);
     }
 }
Пример #3
0
        private void DelegateOnForceOfflinePushCallback(Object obj)
        {
            isReceivedForceOfflinePush = true;
            GmResponseMsg      msg = obj as GmResponseMsg;
            GmForceOfflinePush forceOfflinePush = GmForceOfflinePush.ParseFrom(msg.ProtoData);

            WebSocketManager.CloseWebSocket();
            string tips = string.Format("被GM服务器踢下线,原因为{0}\n请重新登录", forceOfflinePush.ForceOfflineReason);

            MessageBox.Show(this, tips, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            if (loginForm != null && loginForm.Visible == false)
            {
                loginForm.ShowDialog();
            }
        }