private void button2_Click(object sender, EventArgs e) { if (letterAuthorBox.Text == "") { MessageBox.Show("Выберите письмо", "Ошибка"); return; } this.Hide(); CreateLetter createLetterForm = new CreateLetter("", letterAuthorBox.Text, NetworkService.GetSharedService().currentSession.username.ToString(), letterTextBox.Text); createLetterForm.Owner = this; createLetterForm.StartPosition = FormStartPosition.CenterParent; createLetterForm.Show(); }
private void Chat_FormClosed(object sender, FormClosedEventArgs e) { NetworkService.GetSharedService().CloseConnection(); }
private void closeButton_Click(object sender, EventArgs e) { NetworkService.GetSharedService().CloseConnection(); }
/// <summary> /// Обработка пришедшего кадра /// </summary> public void HandleFrame(Frame frame) { switch (frame.type) { case Frame.Type.Link: this.notificationLabel.Invoke((MethodInvoker) delegate { // Running on the UI thread this.notificationLabel.Text = "Соединение установлено"; this.connectButton.Text = "Войти"; }); // Если станция не ведущая, то отправляем дальше if (currentConnection.isMaster == false) { this.SendFrame(frame); } break; case Frame.Type.Ask: // Если станция не ведущая, то отправляем дальше if (currentConnection.isMaster == false) { this.SendFrame(frame); } break; case Frame.Type.Data: if (currentSession.username == frame.authorID && currentSession.username != frame.recipientID) { MessageBox.Show("Несуществующий пользователь", "Ошибка"); break; } // Если станция не ялвяется получателем, то отправляем дальше if (currentSession.username != frame.recipientID) { this.SendFrame(frame); } else { this.mailBox.Items.Add(string.Format("{0}: {1}", frame.authorID, frame.message)); int filesCount = Directory.GetFiles(NetworkService.GetSharedService().userDirectory).Length; string filePath = String.Format("{0}/{1}.txt", NetworkService.GetSharedService().userDirectory, filesCount + 1); //File.Create(filePath); File.WriteAllText(filePath, string.Format("{0}\n{1}", frame.authorID, frame.message)); } break; case Frame.Type.Error: // Если станция не ведущая, то отправляем дальше if (currentConnection.isMaster == false) { this.SendFrame(frame); } break; case Frame.Type.Downlink: // Если станция не ведущая, то отправляем дальше if (currentConnection.isMaster == false) { this.SendFrame(frame); } System.Windows.Forms.Application.Exit(); break; } }