public void ConnectToOnlineWorkspace() { if (!PromptToSaveWorkspace()) { return; } using (var dialog = new ConnectToOnlineWorkspaceForm()) { while (true) { if (dialog.ShowDialog(TopLevelControl) == DialogResult.Cancel) { return; } try { Workspace = OpenWorkspace(dialog.Filename); return; } catch (Exception exception) { var result = MessageBox.Show(this, "There was an error connecting to the database. Do you want to try again?\n" + exception, Program.AppName, MessageBoxButtons.OKCancel); if (result == DialogResult.Cancel) { return; } } } } }