public static Control CloneCtrl(Control ctrl) { CBFormCtrl cbCtrl = new CBFormCtrl(ctrl); Control newCtrl = ControlFactory.CreateControl(cbCtrl.CtrlName, cbCtrl.PartialName); ControlFactory.SetControlProperties(newCtrl, cbCtrl.PropertyList); return(newCtrl); }
public static Control GetCtrlFromClipBoard() { Control ctrl = new Control(); IDataObject ido = Clipboard.GetDataObject(); if (ido.GetDataPresent(CBFormCtrl.Format.Name)) { CBFormCtrl cbCtrl = ido.GetData(CBFormCtrl.Format.Name) as CBFormCtrl; ctrl = ControlFactory.CreateControl(cbCtrl.CtrlName, cbCtrl.PartialName); ControlFactory.SetControlProperties(ctrl, cbCtrl.PropertyList); } return(ctrl); }
public void Paste() { Control ctrl = ControlFactory.GetCtrlFromClipBoard() as Control; Rectangle rcObject = ctrl.Bounds; rcObject.Offset(10, 10); ctrl.SetBounds(rcObject.X, rcObject.Y, rcObject.Width, rcObject.Height); m_Form.Controls.Add(ctrl); ctrl.BringToFront(); ; rcObject = m_Form.RectangleToScreen(rcObject); rcObject = this.RectangleToClient(rcObject); m_tracker.m_rect = rcObject; m_seletedCtrl = ctrl; MainForm.m_propertyWindow.SetSelectedObject(m_seletedCtrl); InvalidateEx(); }
private void SelectionUIOverlay_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { ToolBoxItem DragData = (ToolBoxItem)e.Data.GetData(typeof(ToolBoxItem)); Control ctrl = ControlFactory.CreateControl(DragData.Caption, DragData.Object.ToString()) as Control; ctrl.Location = m_Form.PointToClient(new Point(e.X, e.Y)); if (!(ctrl is DateTimePicker)) //DateTimePicker can not set Text property { ctrl.Text = DragData.Caption; } Rectangle rect = ctrl.Bounds; rect = m_Form.RectangleToScreen(rect); rect = this.RectangleToClient(rect); m_Form.Controls.Add(ctrl); ctrl.BringToFront(); m_tracker.m_rect = rect; m_seletedCtrl = ctrl; m_FormTracker.Clear(); MainForm.m_propertyWindow.SetSelectedObject(ctrl); InvalidateEx(); }