/// <summary> /// Constructor which sets location of Form1 window and initializes AdditionalViews class /// </summary> public AdditionalViewsForm( AdditionalViews additionalViews, Form otherForm) { singleton = this; this.additionalViews = additionalViews; additionalViews.form = this; InitializeComponent(); SetFormPosition(otherForm); if (additionalViews.mapsEmpty || MT.renderingInProgress) { RenderButtonsEnabled(false); ExportDataButtonsEnabled(false); } else { RenderButtonsEnabled(true); ExportDataButtonsEnabled(true); } panAndZoomControls = new PanAndZoomSupport[MapsTabControl.TabCount]; for (int i = 0; i < MapsTabControl.TabCount; i++) { bool condition(Control c) => c.Name.Contains("PictureBox") && c.GetType() == typeof(PictureBox); PictureBox pictureBox = FindAllControls(condition, MapsTabControl.TabPages [i])[0] as PictureBox; pictureBox.MouseWheel += new MouseEventHandler(pictureBox_MouseWheel); pictureBox.SizeMode = PictureBoxSizeMode.Zoom; panAndZoomControls[i] = new PanAndZoomSupport(pictureBox, null, SetWindowTitleSuffix) { Button = MouseButtons.Right }; } newImageAvailable = new bool[MapsTabControl.TabCount]; for (int i = 0; i < newImageAvailable.Length; i++) { newImageAvailable[i] = true; } KeyPreview = true; }
private void AdditionalViewsButton_Click(object sender, EventArgs e) { if (additionalViews.form != null) { additionalViews.form.Activate(); return; // only one instance of Form1 can exist at the time } AdditionalViewsForm additionalViewsForm = new AdditionalViewsForm(additionalViews, this); additionalViewsForm.mapSavedCallback = (filename) => { Notification(@"File succesfully saved", $"Image file \"{filename}\" succesfully saved.", 30000); }; additionalViewsForm.Show(); }
private void AdditionalViewsForm_FormClosed(object sender, FormClosedEventArgs e) { singleton = null; additionalViews.form = null; // removes itself from associated AdditionalViews }