private void collectionPressed(object sender, MouseEventArgs e) { if (!ButtonControl.enableDrag) { if (!ButtonControl.enableDelete) { int btnId = (int)((Button)sender).Tag; buttonsStack.Push(btnId); panelGUI.Controls.Clear(); foreach (var item in collectionButtons[btnId]) { panelGUI.Controls.Add(item); } btnBackFromChild.Visible = true; lblCurrentButtonID.Text = ""; foreach (int id in buttonsStack) { lblCurrentButtonID.Text += ($"/{allButtons[id].Text}"); } if (searchActive) { Search(); } } else { DragButton btnPressed = (DragButton)sender; DialogResult dialogResult = MessageBox.Show("Delete?", btnPressed.Name, MessageBoxButtons.OKCancel); if (dialogResult == DialogResult.OK) { if (collectionButtons[int.Parse(btnPressed.Tag.ToString())].Count > 0) { MessageBox.Show("To delete collection you must first delete all units it contains"); return; } try { ButtonsClient.DeleteButtonConnection(int.Parse(btnPressed.Tag.ToString())); } catch (Exception) { MessageBox.Show("Failed to delete"); } allButtons.Remove(int.Parse(btnPressed.Tag.ToString())); collectionButtons[buttonsStack.Peek()].Remove(btnPressed); panelGUI.Controls.Remove(btnPressed); } else if (dialogResult == DialogResult.No) { return; } } } }
private void unitPressed(object sender, MouseEventArgs e) { if (!ButtonControl.enableDrag) { if (!ButtonControl.enableDelete) { DragButton btnPressed = (DragButton)sender; this.Hide(); //Send pressed button ID StorageUnitTable unitTable = new StorageUnitTable(int.Parse(btnPressed.Tag.ToString())); unitTable.Location = this.Location; unitTable.StartPosition = this.StartPosition; unitTable.FormClosing += delegate { this.Show(); }; unitTable.ShowDialog(); } else { DragButton btnPressed = (DragButton)sender; DialogResult dialogResult = MessageBox.Show("Delete?", btnPressed.Name, MessageBoxButtons.OKCancel); if (dialogResult == DialogResult.OK) { try { ButtonsClient.DeleteButtonConnection(int.Parse(btnPressed.Tag.ToString())); } catch (Exception) { MessageBox.Show("Failed to delete"); } allButtons.Remove(int.Parse(btnPressed.Tag.ToString())); collectionButtons[buttonsStack.Peek()].Remove(btnPressed); panelGUI.Controls.Remove(btnPressed); } else if (dialogResult == DialogResult.No) { return; } } } }