private void btnStopSyncSave_Click(object sender, EventArgs e) { if (_transpilerHandler != null) { _transpilerHandler.DisconnectEditor(); _transpilerHandler = null; Unlocked(); } btnStopSyncSave.Enabled = _transpilerHandler != null; }
private void StartScriptEditor(string transpiler = "JavaScript") { try { _transpilerHandler = new JavaScriptTranspilerHandler( _editor_owner.ServiceNodeHandler, _editor_owner.Source, transpiler == "TypeScript"); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } HideInof(); Locked(); _transpilerHandler.SourceUpdate += delegate { try { ShowInfo("資料儲存中..."); Application.DoEvents(); jsEditor1.Text = _transpilerHandler.GetTypeScript(); // Source 可能會整個被調整過。 _editor_owner.Source = _transpilerHandler._source; // Save 會把 jsEditor1.Text 寫入 _editor_owner.Soure 屬性。 // 這是原來的邏輯,未修改,需要呼叫是因為要儲存到 Server。 _editor_owner.Save(); ShowInfo("儲存完成..."); lblMessage.Visible = false; } catch (Exception ex) { MessageBox.Show("error: " + ex.Message); } }; _transpilerHandler.StartEditor(); btnStopSyncSave.Enabled = true; }