Example #1
0
        private void WorkerToSend_DoWork(object sender, DoWorkEventArgs e)
        {
            //byte[] data = ReadImageFile(Application.StartupPath + "\\1.jpg");
            //utton2.Text = data.Length.ToString();
            int dot   = 1;
            int index = 0;

            //System.Threading.Thread sf = new System.Threading.Thread(SetSendFlag);

            while (index < data.Length)
            {
                sendFlag = false;

                int j;
                if (data.Length - index < 8000)
                {
                    j = data.Length - index;
                }
                else
                {
                    j = 8000;
                }
                byte[] newdata = new byte[j + 3];
                newdata[0] = Convert.ToByte('/');
                newdata[1] = Convert.ToByte('i');
                newdata[2] = Convert.ToByte('.');
                for (int i = 0; i < j; i++)
                {
                    newdata[i + 3] = data[index + i];
                }
                c.Send(newdata);
                index += j;
                string temp = "";
                for (int i = 0; i < dot; i++)
                {
                    temp += ".";
                }
                this.Invoke(new MethodInvoker(delegate() { this.Text = "圖片傳送中" + temp; }));
                dot++;
                if (dot == 4)
                {
                    dot = 0;
                }
                Thread.Sleep(50);
            }



            c.Send("/f." + Username);
            this.Invoke(new MethodInvoker(delegate() { this.Text = Username + "-塗鴉聊天室"; }));
            sendFlag = true;
            WorkerToSend.WorkerSupportsCancellation = true;
            WorkerToSend.CancelAsync();
        }
Example #2
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (imgflag)
     {
         OpenFileDialog imageloader = new OpenFileDialog();
         imageloader.Title  = "請選擇一張圖片";
         imageloader.Filter = "|*.jpg";
         if (imageloader.ShowDialog() == DialogResult.OK)
         {
             data = ReadImageFile(imageloader.FileName);
             WorkerToSend.RunWorkerAsync();
         }
     }
 }
Example #3
0
 private void 傳送圖片ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (imgflag)
     {
         OpenFileDialog imageloader = new OpenFileDialog();
         imageloader.Title  = "請選擇一張圖片";
         imageloader.Filter = "|*.jpg";
         if (imageloader.ShowDialog() == DialogResult.OK)
         {
             data = ReadImageFile(imageloader.FileName);
             WorkerToSend.RunWorkerAsync();
         }
     }
     else
     {
         MessageBox.Show("尚有圖片傳送中!");
     }
 }