Dicas rápidas – ExF03 – Drag & Drop de elemento criado dinamicamente
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.
Comentários