|
|
|
|
|
Dicas
|
|
Visual Basic.Net (ActiveX/Controles/DLL)
|
|
|
Título da Dica: Arrastando e soltando arquivos em um ListBox.
|
|
|
|
Postada em 9/10/2003 por ~Ð@®£@Ñ
Lembra como fazíamos uma operação de arrastar e soltar no VB6 ??? Se você não lembra dê uma olhada no artigo - Arrastar e Soltar , é só começar . Mas como estamos em tempos de VB.NET , como podemos fazer isto no VB.NET ? Nesta dica eu mostro como ...
a - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)
Project Types : Visual Basic Projects Templates : Windows Application Name : ArrastarSoltar Location : c:\vbnet \ArrastarSoltar b- No formulário padrão - form1.vb - inclua um controle ListBox e um controle Label conforme a figura abaixo :
O controle ListBox possui dois eventos que permitem a operação arrastar e soltar , são eles : DragEnter e DragDrop. DragEnter - ocorre quando você arrasta um objeto dentro dos limites de um controle e é usado para determinar se o objeto que esta sendo arrastado tem a permissão para isto. Um ícone indicando a ocorrência deste evento.
DragDrop - ocorre quando um objeto que esta sendo arrastado sobre o controle é solto sobre o mesmo. Usamos este evento para retornar o objeto através do objeto Data.
Data - o método GetData deste objeto retorna um array de strings que contém o caminho completo dos arquivos que estamos arrastando sobre o controle ListBox.
Devemos inserir código nos eventos DragEnter e DragDrop do controle ListBox. Para inserir código estes eventos faça o seguinte :
No Solution Explorer selecione o formulário - form1.vb e clique com o botão direito do mouse e selecione - View Code. A seguir , no lado esquerdo superior , selecione na combo o nome ListBox e no lado direito na combo que mostra os evento selecione : DragEnter. A seguir insira o código : Private Sub ListBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
e.Effect = DragDropEffects.All
Else
e.Effect = DragDropEffects.None
End If
End Sub
Repita os mesmos passo para o evento DragDrop e insira o seguinte código :
Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
Dim s() As String = e.Data.GetData("FileDrop", False)
Dim i As Integer
For i = 0 To s.Length - 1
ListBox1.Items.Add(s(i))
Next
End Sub
Agora é só começar a arrastar e soltar... Até mais !!
|
|
|
|
|