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(); }
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(); } } }
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("尚有圖片傳送中!"); } }