Esempio n. 1
0
        private void btnCutter_Click(object sender, EventArgs e)
        {
            // 新建一个和屏幕大小相同的图片
            Bitmap CatchBmp = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);

            // 创建一个画板,让我们可以在画板上画图
            // 这个画板也就是和屏幕大小一样大的图片
            // 我们可以通过Graphics这个类在这个空白图片上画图
            Graphics g = Graphics.FromImage(CatchBmp);

            // 把屏幕图片拷贝到我们创建的空白图片 CatchBmp中
            g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height));

            // 创建截图窗体
            cutter = new Cutter();

            // 指示窗体的背景图片为屏幕图片
            cutter.BackgroundImage = CatchBmp;
            // 显示窗体
            //cutter.Show();
            // 如果Cutter窗体结束,则从剪切板获得截取的图片,并显示在聊天窗体的发送框中
            if (cutter.ShowDialog() == DialogResult.OK)
            {
                IDataObject        iData  = Clipboard.GetDataObject();
                DataFormats.Format format = DataFormats.GetFormat(DataFormats.Bitmap);
                if (iData.GetDataPresent(DataFormats.Bitmap))
                {
                    WriteRichTextBox.Paste(format);

                    // 清楚剪贴板的图片
                    //  Clipboard.Clear();
                }
            }
        }
Esempio n. 2
0
        private void SendButton_Click_1(object sender, EventArgs e)
        {
            FormMain formMain = SystemConfiguration.FormMain;
            Reports  report   = formMain.GetSelectedReport();

            //CloudDiagnosis.Entity.Reports report = formMain.GetSelectedReport();

            if (report.Report_ID != 0)
            {
                if (!report.IsAudited)
                {
                    this.ReadRichTextBox.Clear();
                    MessageBox.Show("该报表还没有经过医生审核,不能发起讨论!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    return;
                }
                Consultation cs = new Consultation();//创建对象
                try
                {
                    this.ReadRichTextBox.SelectionStart = ReadRichTextBox.Text.Length;
                    this.ReadRichTextBox.ScrollToCaret();
                    this.ReadRichTextBox.SelectionAlignment = HorizontalAlignment.Right;                                      //改变文本排列方式右对齐
                                                                                                                              //发送信息,
                                                                                                                              //if (this.WriteRichTextBox.Text != ""||WriteRichTextBox.Rtf.IndexOf((@"{\pict\"))>-1)
                    if (!string.IsNullOrWhiteSpace(WriteRichTextBox.Text) || WriteRichTextBox.Rtf.IndexOf((@"{\pict\")) > -1) //判断发送框中是否有东西
                    {
                        //ReadRichTextBox.ReadOnly = false;

                        //string left = this.ReadRichTextBox.SelectionAlignment.ToString();
                        //   if (this.ReadRichTextBox.Text != "")
                        // {
                        this.ReadRichTextBox.SelectionStart = ReadRichTextBox.Text.Length;
                        this.ReadRichTextBox.ScrollToCaret();
                        this.ReadRichTextBox.SelectionAlignment = HorizontalAlignment.Right; //改变文本排列方式右对齐
                        if (!string.IsNullOrWhiteSpace(WriteRichTextBox.Text))               //判断发送框中是否有文字
                        {
                            this.ReadRichTextBox.SelectionStart = ReadRichTextBox.Text.Length;
                            this.ReadRichTextBox.ScrollToCaret();
                            Font font1 = new Font(FontFamily.GenericMonospace, 16, FontStyle.Regular);
                            ReadRichTextBox.SelectionFont  = font1;
                            ReadRichTextBox.SelectionColor = Color.Blue;
                            this.ReadRichTextBox.AppendText(SystemConfiguration.LoginUser.UserName + "    " + DateTime.Now.ToString() + "\n");
                            //this.ReadRichTextBox.Text = this.ReadRichTextBox.Text + "\r\n";
                            Font font2 = new Font(FontFamily.GenericMonospace, 24, FontStyle.Regular);
                            ReadRichTextBox.SelectionFont  = font2;
                            ReadRichTextBox.SelectionColor = Color.Red;
                            this.ReadRichTextBox.AppendText(this.WriteRichTextBox.Text + "\n");
                        }
                        else
                        {
                            //this.ReadRichTextBox.SelectionStart = ReadRichTextBox.Text.Length;
                            //this.ReadRichTextBox.ScrollToCaret();
                            ReadRichTextBox.SelectionColor = Color.Blue;
                            Font font1 = new Font(FontFamily.GenericMonospace, 16, FontStyle.Regular);
                            ReadRichTextBox.SelectionFont = font1;
                            this.ReadRichTextBox.AppendText(SystemConfiguration.LoginUser.UserName + "    " + DateTime.Now.ToString() + "\n");
                            //this.ReadRichTextBox.Text = this.ReadRichTextBox.Text + "\r\n";
                        }

                        //发送图片

                        PictureBox pb = new PictureBox();
                        pb.Image = null;
                        pb.Image = Clipboard.GetImage();
                        if (pb.Image != null)
                        {
                            pb.Image.Save("8.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
                            //pb.Image.Save("C:/2/7.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
                            pb.Image.Dispose();

                            pb.Dispose();
                            Clipboard.Clear();
                            byte[] buffer = getBytes("8.jpg");          //转为二进制
                            //byte[] buffer = getBytes("C:/2/7.jpg");//转为二进制
                            MemoryStream ms = new MemoryStream(buffer); //显示图片

                            //pictureBox1.Image =System.Drawing. Image.FromStream(ms);
                            Bitmap bmp = new Bitmap(ms);
                            // PictureBox pb = new PictureBox();
                            // pb.Image = System.Drawing.Image.FromStream(ms);
                            //this.ReadRichTextBox.Controls.Add(pb);
                            //pictureBox1.Image =System.Drawing. Image.FromStream(ms);
                            //ReadRichTextBox.AppendText(System.Drawing.Image.FromStream(ms).ToString());
                            Clipboard.SetDataObject(bmp, false);
                            ReadRichTextBox.Paste();
                            ReadRichTextBox.AppendText("\n");

                            // this.ReadRichTextBox.Text = this.ReadRichTextBox.Text + SystemConfiguration.LoginUser.UserName + "    " + DateTime.Now.ToString() + "\r\n";
                            //this.ReadRichTextBox.Text = this.ReadRichTextBox.Text + this.WriteRichTextBox.Text;
                            //  this.ReadRichTextBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
                            //this.ReadRichTextBox.SelectionAlignment = HorizontalAlignment.Left;
                            //  }
                            // else

                            // {
                            //    this.ReadRichTextBox();
                            //   this.ReadRichTextBox.Text = SystemConfiguration.LoginUser.UserName+ "    " + DateTime.Now.ToString() + "\r\n" + this.WriteRichTextBox.Text;
                            //this.ReadRichTextBox.SelectionAlignment = HorizontalAlignment.Left;
                            //  }
                            //信息封装成一个对象
                            //decimal readbox = 1;
                            cs.Content    = SystemConfiguration.LoginUser.UserName + "    " + DateTime.Now.ToString() + "\r\n" + this.WriteRichTextBox.Text;
                            cs.SenderID   = SystemConfiguration.LoginUser.User_ID;
                            cs.Report_ID  = report.Report_ID;
                            cs.ReceiverID = Convert.ToDecimal(report.User_ID);
                            cs.images     = Convert.ToBase64String(buffer);

                            // list.Add(cs);

                            string jsondata = JsonConvert.SerializeObject(cs);
                            //string read = (string)readbox;
                            ClientCloudEyesServer.CloudEyesSoapClient serviceClient = new ClientCloudEyesServer.CloudEyesSoapClient("CloudEyesSoap");


                            bool jsonResult = serviceClient.SendMessage(jsondata);
                        }
                        else
                        {
                            cs.Content    = SystemConfiguration.LoginUser.UserName + "    " + DateTime.Now.ToString() + "\r\n" + this.WriteRichTextBox.Text;
                            cs.SenderID   = SystemConfiguration.LoginUser.User_ID;
                            cs.Report_ID  = report.Report_ID;
                            cs.ReceiverID = Convert.ToDecimal(report.User_ID);
                            cs.images     = "";
                            string jsondata = JsonConvert.SerializeObject(cs);
                            //string read = (string)readbox;
                            ClientCloudEyesServer.CloudEyesSoapClient serviceClient = new ClientCloudEyesServer.CloudEyesSoapClient("CloudEyesSoap");


                            bool jsonResult = serviceClient.SendMessage(jsondata);
                        }

                        //把集合放入json中
                        //反序列化对象
                        //  JavaScriptSerializer js = new JavaScriptSerializer();
                        // Consultation consultation = js.Deserialize<Consultation>(jsonResult.ToString());
                        ReadRichTextBox.SelectionStart = ReadRichTextBox.Text.Length; //Set the current caret position at the end
                        ReadRichTextBox.ScrollToCaret();
                        Clipboard.Clear();
                        this.WriteRichTextBox.Clear();
                    }
                    else
                    {
                        MessageBox.Show("无消息发不出");
                    }
                    //ReadRichTextBox.ReadOnly = true;
                    WriteRichTextBox.Focus();
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
            }
        }