>> Bit newBit = (Bit)e.Data.GetData(typeof(Bit)); >>>>
>>> //This code is on a toolbar of the form >>> private void toolStripButton2_MouseDown(object sender, MouseEventArgs e) >>> { >>> Bit XIC = new Bit(); >>> XIC.BitType = Enums.bitType.NormallyClosed; >>> DoDragDrop(XIC, DragDropEffects.Copy); >>> } >>>>>>
>>> //This code is on the user controlthat is on the form >>> private void Rung_DragDrop(object sender, DragEventArgs e) >>> { >>> Rung targetRung = (Rung)sender; >>> if( e.Data.GetDataPresent(typeof(Bit))) >>> >>> { >>> Bit newBit = new Bit(); >>> newBit.BitType = (Enums.bitType)e.Data.GetData("BitType"); // this is where my code breaks or I should say never runs. >>> newBit.Location = targetRung._ConnectionPoint; >>> >>> this.Controls.Add(newBit); >>> Elements.Add(newBit); >>> this.VisualCueImage.Visible = false; >>> >>> } >>> >>> } >>>>>>
>>>>private Control PickedUpControl; >>>>private Panel TargetArea; >>>> >>>>this.TargetArea.AllowDrop = true; >>>> >>>>private void DragControl_MouseDown(object sender, System.MouseEventArgs e) >>>>{ >>>> this.PickedUpControl = (Control)sender; >>>> this.PickedUpControl.DoDragDrop(sender, DragDropEffects.Move); >>>>} >>>>private void TargetArea_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) >>>>{ >>>> e.Effect = DragDropEffects.All; >>>>} >>>>private void TargetArea_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) >>>>{ >>>> this.TargetArea.Controls.Add(this.PickedUpControl); >>>> Point xy = this.TargetArea.PointToClient(new Point(e.X, e.Y)); >>>> this.PickedUpControl.Location = xy; >>>>} >>>> >>>>// The DragOver event is often redundant, but can be used to show the object moving >>>>private void TargetArea_DragOver(object sender, System.Windows.Forms.DragEventArgs e) >>>>{ >>>> e.Effect = DragDropEffects.All; >>>> Point xy = this.PointToClient(new Point(e.X+1, e.Y+1)); >>>> this.PickedUpControl.Location = xy; >>>>} >>>>>>>>
>>>>private void TargetArea_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) >>>>{ >>>> Point pt = this.TargetArea.PointToClient(new Point(e.X, e.Y)); >>>> Control ToControl = this.TargetArea.GetChildAtPoint(pt); >>>> >>>> ToControl.Text = this.PickedUpControl.Text; >>>>} >>>>>>>>