private void button_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
e.Effect = DragDropEffects.Copy;
this.button2 = new System.Windows.Forms.Button();
this.splitContainer2.Panel1.Controls.Add(this.button2);
this.button2.Location = new System.Drawing.Point(e.X, e.Y);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 4;
this.button2.Text = "button2";
this.button2.UseVisualStyleBackColor = true;
this.splitContainer1.Panel2.Controls.Add(button2);
}
else
{
e.Effect = DragDropEffects.None;
}
}
Drag and drop (button,textbox и т.д.) или как сделать toolbox?
Нужно написать аналог toolbox и Form Design(режим редактирования формы).
Вообщем, смоделировать накидывание элементов на форму + нужна возможность изменять их свойста, такие как size, name, caption и т.д..
На данный момент есть мало.
Сделал splitcontainer. Перетаскиваю из одного в другой кнопку.
Но есть проблемка.
Вообщем, делаю так:
1) При перетаскивании кнопки из панели 1 в панель 2 кнопки, создаю на панели 2 копию кнопки.
Код:
2) Потом нужно отслеживать позицию мыши, для прорисовки перемещения элемента по форме. Тут и появляется проблема. Как определить позицию мыши в окне формы?
Код:
private void myDragOver(object sender, DragEventArgs e)
e.X и e.Y. Как я понял, передает позицию курсора относительно монитора, а не элемента, над которым мышка. Использовать событие MouseMove как-то не красиво =).
В итоге вопрос: как прорисовать изменение позиции элемента(кнопки в данном случае)?
Ну и по поводу основной задачи, есть какие-нибудь предложения или примеры выполнения готовые? Хотя бы ссылку на теоретическую часть. Буду очень признателен, так как делаю диплом, и хочется сделать красиво =)))
[QUOTE=vjick]e.X и e.Y. Как я понял, передает позицию курсора относительно монитора, а не элемента, над которым мышка[/QUOTE]