//Open up a serialized document from file private void OpenDocumentFile(string filename) { form.StatusNormalMessage("Opening File..."); Cursor.Current = Cursors.WaitCursor; // check, if document already open. If yes, set the focus to the first view foreach (NuGenDocument doc in docViewMap.Documents) { if (doc.SavePath == filename) { docViewMap.GetView(doc).Activate(); Cursor.Current = Cursors.Arrow; return; } } Stream s = null; NuGenDocument finalDoc = null; try { s = File.Open(filename, FileMode.Open); BinaryFormatter formatter = new BinaryFormatter(); finalDoc = NewDocument((NuGenDocument)formatter.Deserialize(s)); finalDoc.SavePath = filename; finalDoc.UpdateListeners(); finalDoc.ComputeTransformation(); if (finalDoc.ValidAxes || finalDoc.ValidAxes) { form.StatusNormalMessage("Axes Defined"); } s.Close(); if (docViewMap.Count == 1) { form.EnableControls(); } } catch (Exception e) { if (finalDoc != null) { docViewMap.GetView(finalDoc).Close(); } MessageBox.Show("Could not open document!"); if (s != null) { s.Close(); } } form.CheckedBackgroundOption(finalDoc.BackgroundSelection); form.CheckedPointViewOption(docViewMap.GetView(finalDoc).ViewPointSelection); form.EnableControls(); activeView.ShowCoordinates += new NuGenView.Show_Coordinates(this.Show_Coordinates); activeView.DrawAll(); Cursor.Current = Cursors.Arrow; }