コード例 #1
0
        private void SendMessage()
        {
            if (chat_service != null)
            {
                if (this.MessageField.Text != null && (this.MessageField.Text != string.Empty || this.DataHandler.Items.Count > 0))
                {
                    try
                    {
                        chat_service.SendMessage(new Message
                        {
                            Author         = _name,
                            Text           = this.MessageField.Text,
                            Recievers      = this.UsersList.Items.OfType <string>().ToList(),
                            IsDataAttached = (this.DataHandler.Items.Count != 0),
                            DataLinks      = this.DataHandler.Items.OfType <FileData>().Select(f => f.GetLink()).ToList()
                        });

                        this.MessageField.Text = string.Empty;
                    }
                    //catch (FaultException<ExceptionType> fault)
                    //{
                    //    if (fault.Detail == ExceptionType.EmptyOrUnknownRecieverList)
                    //        System.Windows.Forms.MessageBox.Show("Incorrect recievers list");
                    //    if (fault.Detail == ExceptionType.ErrorDuringDataTransfer)
                    //        System.Windows.Forms.MessageBox.Show("Failed to upload data");
                    //}
                    catch (Exception ex)
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message);
                    }
                }
            }
            else
            {
                if (this.MessageField.Text != null && this.MessageField.Text != string.Empty)
                {
                    Run line = new Run(String.Format("[{2}]{0}: {1}", _name, this.MessageField.Text, DateTime.Now.ToString("HH:mm:ss")));
                    line.Foreground = Brushes.Gray;
                    this.MessageBox.Inlines.Add(line);
                    this.MessageBox.Inlines.Add(new LineBreak());
                    this.MessageField.Text = string.Empty;
                }
            }
        }
コード例 #2
0
ファイル: ChatControl.cs プロジェクト: JacobMisirian/Birch
 private void MessageTextBox_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyChar == '\r')
     {
         if (channel == "" || channel == null && !messageTextBox.Text.StartsWith("/"))
         {
             AppendRaw("You cannot send messages in this window!");
         }
         else
         {
             if (messageTextBox.Text.StartsWith("/"))
             {
                 InterpretCommand(messageTextBox.Text);
             }
             else
             {
                 chatProvider.SendMessage(channel, messageTextBox.Text);
                 AppendMessage(chatProvider.Nickname, messageTextBox.Text);
             }
         }
         messageTextBox.Text = "";
     }
 }