private void tabControl1_Deselecting(object sender, TabControlCancelEventArgs e) { if (tabControl1.SelectedTab == null) { return; } foreach (Control c in tabControl1.SelectedTab.Controls) { if (c.GetType() == typeof(TextBox)) { if (mDict_NotesChanged[c.Name]) { tabControl1.SelectedTab.Text = "[等待上传]"; PutNoteParam p = new PutNoteParam { noteID = c.Name, text = c.Text, filePath = null }; Thread thread = new Thread(new ParameterizedThreadStart(ThreadPutNote)) { IsBackground = true }; thread.Start(p); } } break; } }
static void ThreadPutNote(object obj) { PutNoteParam param = (PutNoteParam)obj; mInstance.tabControl1.Invoke(mAsyncUIDelegate_Connection, new object[] { "等待上传" }); if (mClient.PutNote(param.noteID, param.text, param.filePath)) { mDict_NotesChanged[param.noteID] = false; mInstance.tabControl1.Invoke(mAsyncUIDelegate_Connection, new object[] { "已连接" }); } else { MessageBox.Show("上传数据失败!", "云白板", MessageBoxButtons.OK, MessageBoxIcon.Error); mInstance.tabControl1.Invoke(mAsyncUIDelegate_Connection, new object[] { "连接中" }); } }