C# перетаскивание элементов управления копированием
Привет, ребята!
Я пытаюсь сделать простое перетаскивание с одной панели на другую...Но то, что я пытаюсь перетащить, - это кнопка...
Проблема в том, что мой код перемещает элемент управления, а не копию.. Я хочу сохранить кнопку источника...
вот мой код:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace DragDropExample { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void panel1_DragDrop(object sender, DragEventArgs e) { Control ctrl = e.Data.GetData(e.Data.GetFormats()[0]) as Control; if (ctrl != null) { ctrl.Location = this.panel1.PointToClient(new Point(e.X, e.Y)); this.panel1.Controls.Add(ctrl); } } private void button1_MouseDown(object sender, MouseEventArgs e) { //button1.DoDragDrop(button1, DragDropEffects.Copy | DragDropEffects.Move); button1.DoDragDrop(button1, DragDropEffects.Copy ); } private void panel1_DragOver(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Copy; } private void Form1_DragOver(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Copy ; } private void Form1_DragDrop(object sender, DragEventArgs e) { Control ctrl = e.Data.GetData(e.Data.GetFormats()[0]) as Control; if (ctrl != null) { ctrl.Location = this.PointToClient(new Point(e.X, e.Y)); this.Controls.Add(ctrl); } } private void button1_Click(object sender, EventArgs e) { } } }
спасибо!!
Рафаэль
idenizeni
Итак, вы хотите использовать перетаскивание функционально для клонирования кнопки, а на самом деле не перетаскивать ее?
BillWoodruff
Вы ищете "общее решение", которое можно использовать для перемещения/копирования любого элемента управления, или конкретное решение для данного конкретного случая перемещения/дублирования кнопки с одной панели на другую ? Вы изучали то, что находится на CP и в интернете, о дублировании элементов управления во время выполнения, например: http://www.codeproject.com/Articles/12976/How-to-Clone-Serialize-Copy-Paste-a-Windows-Forms