private void MainMenuItemClick(object sender, EventArgs e) //refering to the right click context menu for resources. { MenuItem CurrentMenu = (MenuItem)sender; string Name = CurrentMenu.Parent.Name; ResourceData CurrentResource = null; foreach (ResourceData R in CurrentResources) { if (R.Name.Equals(Name)) { CurrentResource = R; break; } } if (CurrentMenu.Text.Equals("Rename...")) { TextBox NameTextBox = new TextBox(); NameTextBox.Text = Name; //NameTextBox.Size = new Size(NameTextBox.Height, NameTextBox.Size.Width * 10); TableLayoutPanel PanelClickedOn = null; Label NameLabel = null; foreach (Control C in ResourcesLeftPanel.Controls) { TableLayoutPanel Current = (TableLayoutPanel)C; NameLabel = (Label)Current.GetChildAtPoint(new Point(50, 50), GetChildAtPointSkip.None); if (NameLabel.Text.Equals(Name)) { PanelClickedOn = Current; break; } } foreach (Control C in ResourcesRightPanel.Controls) { TableLayoutPanel Current = (TableLayoutPanel)C; NameLabel = (Label)Current.GetChildAtPoint(new Point(50, 50), GetChildAtPointSkip.None); if (NameLabel.Text.Equals(Name)) { PanelClickedOn = Current; break; } } PanelClickedOn.Controls.Remove(NameLabel); PanelClickedOn.Controls.Add(NameTextBox, 0, 1); PanelClickedOn.SetColumnSpan(NameTextBox, 5); NameTextBox.TextAlign = HorizontalAlignment.Center; NameTextBox.SelectAll(); NameTextBox.Name = Name; NameTextBox.KeyDown += NameTextBoxKeyDown; //UpdateResourceEvent?.Invoke(CurrentResource.Name, GetIsLinkFromR(CurrentResource), null, UpdatedName, null, CurrentResource.Unit, CurrentResource.Type, CurrentResource.Comments); } }
private void TableLayoutPanel_DragOver(object sender, DragEventArgs e) { if (!e.Data.GetDataPresent(typeof(Button))) { return; } e.Effect = e.AllowedEffect; var draggedButton = (Button)e.Data.GetData(typeof(Button)); var pt = tableLayoutPanel.PointToClient(new Point(e.X, e.Y)); var button = (Button)tableLayoutPanel.GetChildAtPoint(pt); if (button != null) { var pos = tableLayoutPanel.GetPositionFromControl(button); tableLayoutPanel.Controls.Add(draggedButton, pos.Column, pos.Row); draggedButton.Tag = null; } }
private void toolStripMenuItem3_Click(object sender, EventArgs e) { ToolStripMenuItem toolStripMenuItem = (ToolStripMenuItem)sender; ContextMenuStrip contextMenuStrip = (ContextMenuStrip)toolStripMenuItem.GetCurrentParent(); Control sourceControl = contextMenuStrip.SourceControl; Item item = sourceControl.Tag as Item; if (item != null) { TableLayoutPanel tableLayoutPanel = sourceControl.Parent as TableLayoutPanel; if (tableLayoutPanel != null) { int row = tableLayoutPanel.GetRow(sourceControl); if (row >= 0) { Control editableControl = item.GetEditableControl(); this.editors.GetOrAdd(this.flowLayoutPanel1.Tag as string, new ConcurrentBag <Control>()).Add(editableControl); tableLayoutPanel.GetChildAtPoint(new Point(row, 1)); tableLayoutPanel.Controls.Remove(sourceControl); tableLayoutPanel.Controls.Add(editableControl, 1, row); } } } }