private void rebuildProjectToolStripMenuItem_Click(object sender, EventArgs e) { if (!CheckBuildStatus()) { return; } SetBuildStatus(BuildStatus.Neutral); PhactoryHost.Database.Resource resource = App.Controller.Entities.GetResource(App.Controller.Entities.StartupResourceId); if (resource == null) { this.ShowWarningMessage("Operation failed !", "You need to define a resource as startup item first."); } else { var w = new RebuildProjectWorker(resource); Thread t = new Thread(w.DoWork); t.Start(); while (t.IsAlive) { Application.DoEvents(); } if (w.IsOk) { SetBuildStatus(BuildStatus.Success); } else { SetBuildStatus(BuildStatus.Failure); } } }