// Start dragging a display panel private void DisplayPanel_MouseDown(object sender, MouseEventArgs e) { DisplayPanel d = (DisplayPanel)sender; if (e.Button == MouseButtons.Left) { displayPanelMouseDownLocation = e.Location; if (activeDisplayPanel != null) { activeDisplayPanel.Deactivate(); // Remove border markings for the old active DisplayPanel. } activeDisplayPanel = d; activeDisplayPanel.Activate(); // Apply border markings for the new active DisplayPanel. } }
private void AddDisplayPanel(IGetData dataObject, bool canSwap, Point point) { DisplayPanel d = new DisplayPanel(dataObject, exitImage, canSwap, point, myPanel.Width, myPanel.Height); displayPanels.Add(d); myPanel.Controls.Add(d.Panel); d.Close += RemoveDisplayPanel; d.Swap += DisplayPanelSwap; d.Panel.MouseMove += DisplayPanel_MouseMove; d.MouseDown += DisplayPanel_MouseDown; // Deactivate the old panel, reassign the active panel, then activate the new panel. if (activeDisplayPanel != null) { activeDisplayPanel.Deactivate(); } activeDisplayPanel = d; activeDisplayPanel.Activate(); }
// The exit button on one of the display panels has been clicked. Remove the display panel from the list. private void RemoveDisplayPanel(object sender, EventArgs e) { DisplayPanel d = (DisplayPanel)sender; d.Close -= RemoveDisplayPanel; d.Swap -= DisplayPanelSwap; d.Panel.MouseMove += DisplayPanel_MouseMove; d.MouseDown += DisplayPanel_MouseDown; myPanel.Controls.Remove(d.Panel); displayPanels.Remove(d); // Delete the reference to the DisplayPanel so the garbage collector can remove it. if (displayPanels.Count >= 1) { activeDisplayPanel = displayPanels[0]; activeDisplayPanel.Activate(); } else { activeDisplayPanel = null; } Focus(); }
private void SwapToDisplayPanel(int i) { activeDisplayPanel.Deactivate(); activeDisplayPanel = displayPanels[i]; activeDisplayPanel.Activate(); }