public void OnDragDrop(object sender, DragEventArgs e) { MpeLog.Debug("OnDragDrop()"); if (sender == null || !(sender is MpeContainer)) { MpeLog.Warn("Could not locate parent MpeContainer... Cancelling DragDrop operation."); return; } MpeContainer mpc = (MpeContainer)sender; if (e.Data.GetDataPresent(typeof(MpeControlType))) { MpeControlType type = (MpeControlType)e.Data.GetData(typeof(MpeControlType)); MpeLog.Debug("DragDrop: " + type.ToString()); MpeControl c = Parser.CreateControl(type); c.Id = ResourceList.GenerateUniqueId(); c.Location = mpc.PointToClient(new Point(e.X, e.Y)); mpc.Controls.Add(c); c.BringToFront(); Mask.SelectedControl = c; UpdatePropertyManager(); } else if (e.Data.GetDataPresent(typeof(FileInfo))) { FileInfo image = (FileInfo)e.Data.GetData(typeof(FileInfo)); MpeImage mpi = (MpeImage)Parser.CreateControl(MpeControlType.Image); mpi.Id = ResourceList.GenerateUniqueId(); mpc.Controls.Add(mpi); mpi.Texture = image; mpi.AutoSize = true; mpi.Location = mpc.PointToClient(new Point(e.X, e.Y)); mpi.BringToFront(); Mask.SelectedControl = mpi; UpdatePropertyManager(); } else { MpeLog.Debug("Unknown DataType... Cancelling DragDrop"); return; } Focus(); }