async void SafeStart() { // Change Text var text = BtnStartXYWE.Text; BtnStartXYWE.Text = "正在启动XYWE……"; BtnStartXYWE.Enabled = false; BtnStartXYWE.Refresh(); // http://stackoverflow.com/questions/570537/update-label-while-processing-in-windows-forms // Refresh Tip XYTip.Refresh(); // Refresh Editor Source XYSource.RefreshEditor(); // Compile await Task.Run(() => { XYFile.Compile(XYPath.Dir.Source); }); // Refresh Enabled Package UI Config XYConfig.RefreshConfig(); // Execute Plugin if (XYPlugin.RSJB_WE_TextEditor_16_0.GetEnableState()) { XYPlugin.RSJB_WE_TextEditor_16_0.SafeStart(); } // Recover Text BtnStartXYWE.Enabled = true; BtnStartXYWE.Text = text; // Start XYWE XYProcess.Application.StartXYWE(); }
void BtnStartXYWE_Click(object sender, EventArgs e) { XYTip.Refresh(); XYProcess.Application.StartXYWE(); }