Dicas rápidas – ExF03 – Drag & Drop de elemento criado dinamicamente

11 abril, 2009 (12:46) | dúvida | Por: admin

Em sua interface pode ser necessária a criação de elementos em tempo de execução.
Anteriormente, na Aula 11, percebemos que esta criação se dá através da instanciação do elemento que se deseja inserir na interface e de sua colocação no container desejado através do método Add da coleção Controls.

Exemplo:


// Cria uma instância de botão
Button b = new Button();
// Determina o tamanho na tela
b.Size = new Size(30, 30);
// Coloca na posição 100, 100
b.Location = new Point(100, 100);
// Adiciona no formulário
this.Controls.Add(b);

Se for necessária a criação de um componente em tempo de execução e que possua funcionalidade de drag&drop o evento MouseDown também deve ser considerado.


// Cria uma instância de botão
Button b = new Button();
// Determina o tamanho na tela
b.Size = new Size(30, 30);
// Coloca na posição 100, 100
b.Location = new Point(100, 100);
// Determina o evento de mouse down para indicar
// o drag & drop
b.MouseDown += new MouseEventHandler(b_MouseDown);
// Adiciona no formulário
this.Controls.Add(b);
...
void b_MouseDown(object sender, MouseEventArgs e)
{
       this.DoDragDrop(sender, DragDropEffects.Move);
}

Em anexo, exemplo de aplicação desta ideia.

Escreva um comentário