Adicione suporte para uploads de arquivos com a usabilidade intuitiva de arrastar e soltar.
Muitos aplicativos modernos operam em arquivos que um usuário pode carregar em seu sistema. Editores de imagem, IDEs de código e processadores de texto são exemplos. Se você estiver criando um aplicativo Windows Form, poderá adicionar facilmente essa funcionalidade como parte de sua interface de usuário.
Os aplicativos Windows Form permitem arrastar e soltar elementos da interface do usuário, como painéis ou caixas de listagem. Você pode usar esses elementos de interface do usuário para criar sua funcionalidade de arrastar e soltar. Quando o usuário arrasta um arquivo para um painel, você pode exibir comentários com base nesse arquivo.
Como criar a interface do usuário para o contêiner de arrastar e soltar
Você pode usar um elemento de painel para criar a interface do usuário para a funcionalidade de arrastar e soltar. Em seguida, você pode usar um elemento de interface do usuário ListBox para exibir os nomes de todos os arquivos que um usuário arrastar para o painel.
- Criar um novo aplicativo Windows Forms.
- Na caixa de ferramentas, procure um elemento de interface do usuário do painel e arraste-o para a tela.
- Destaque o novo painel. Na janela de propriedades, altere os valores das seguintes propriedades:
Propriedade
Novo valor
Nome
dragDropPanel
Cor de fundo
Fumaça branca
Estilo de borda
Simples Fixo
Tamanho
600, 400
Visível
Verdadeiro
- Na caixa de ferramentas, procure um elemento de interface do usuário ListBox e arraste-o para a tela. Posicione-o de forma que fique dentro do painel e certifique-se de que haja algum espaçamento entre o ListBox e o painel.
- Destaque o novo ListBox e altere os valores das seguintes propriedades:
Propriedade
Novo valor
Nome
uploadedFilesList
Cor de fundo
Fumaça branca
Estilo de borda
Nenhum
Tamanho
500, 300
Visível
Falso
Como adicionar o evento de arrastar e soltar
Você pode usar eventos em um aplicativo Windows Form para executar certas funções somente quando certos eventos ocorrem.
Para adicionar funcionalidade ao painel de arrastar e soltar, você precisará adicionar dois eventos. O evento "DragEnter" ocorrerá quando você arrastar arquivos sobre o painel. O evento "DragDrop" ocorrerá quando você soltar o mouse para soltar os arquivos no painel.
- Realce o elemento de interface do usuário do painel externo.
- Na janela de propriedades, clique no botão Iluminação ícone para abrir a lista de eventos.
- Clique duas vezes no DragEnter evento para gerar uma nova função. Esta função será executada quando você arrastar arquivos sobre o painel.
- Dentro da nova função, altere o ícone do mouse para indicar a ação de arrastar/soltar:
privadovaziodragDropPanel_DragEnter(remetente do objeto, DragEventArgs e)
{
// Muda o ícone do mouse
e. Efeito = DragDropEffects. Todos;
} - Clique no Formulário 1.cs [Design] guia na parte superior da janela do Visual Studio, para voltar para a exibição de tela. Realce o elemento de interface do usuário do painel.
- Na janela de propriedades, clique no botão Iluminação ícone para voltar à lista de eventos. Desta vez, clique duas vezes no Arraste e solte evento. Isso gerará outra função que será executada quando você soltar o mouse para soltar os arquivos no painel.
- Dentro da nova função DragDrop, obtenha a lista de arquivos que o usuário está arrastando para o painel. Você pode encontrar isso nos detalhes do evento que são passados automaticamente para a função.
privadovaziodragDropPanel_DragDrop(remetente do objeto, DragEventArgs e)
{
string[] arquivos = (string[])e. Dados. GetData (DataFormats. FileDrop, falso);
}
Como exibir a lista de arquivos arrastados
Agora que você adicionou a funcionalidade para o usuário arrastar e soltar arquivos, você pode exibir os nomes dos arquivos usando o elemento ListBox da interface do usuário.
- Dentro da função dragDropPanel_DragDrop(), depois de obter a lista de arquivos, use um loop for para percorrer cada arquivo.
para cada (var arquivo em arquivos)
{
} - Dentro do loop for, obtenha apenas o nome do arquivo. Separe o nome do arquivo do caminho do arquivo e armazene-o em uma variável separada. Se você estiver usando um Mac, pode ser necessário modificar o código para levar em conta as barras em vez das barras invertidas.
string nomeArquivo = arquivo. Substring (arquivo. LastIndexOf("\\") + 1, arquivo. Comprimento - (arquivo. LastIndexOf("\\") + 1));
- Adicione o nome do arquivo ao elemento de interface do usuário ListBox.
tentar
{
uploadedFilesList.Unid.Adicionar(nome do arquivo);
}
pegar (Exceçãoexceção)
{
Console. WriteLine(exceção);
} - O ListBox não é visível por padrão. Após o loop for, altere a visibilidade do ListBox para true:
uploadedFilesList. Visível = verdadeiro;
- Modifique o construtor na parte superior do arquivo. Colocou o Permitir a queda e Auto rolagem propriedades do painel de arrastar e soltar para true.
público Formulário 1()
{
InitializeComponent();
dragDropPanel. AllowDrop = verdadeiro;
dragDropPanel. Rolagem Automática = verdadeiro;
}
Como limpar a lista
Depois que o usuário arrastar itens para o painel, ele pode querer limpar a lista e começar de novo. Você pode adicionar um botão para limpar a lista quando o usuário clicar nele.
- Usando a caixa de ferramentas, arraste um botão para a tela.
- Destaque o botão. Use a janela de propriedades para alterar as seguintes propriedades para os novos valores:
Propriedade
Novo valor
Nome
clearButton
Texto
Claro
- Clique duas vezes no botão para gerar uma nova função. Esta função será executada quando você clicar no botão em tempo de execução:
privadovazioclearButton_Click(objeto remetente, EventArgs e)
{}
- Dentro da função, limpe o conteúdo do elemento ListBox UI e oculte-o:
privadovazioclearButton_Click(objeto remetente, EventArgs e)
{
uploadedFilesList.Unid.Claro();
uploadedFilesList. Visível = falso;
}
Como testar o painel de arrastar e soltar
Para testar a funcionalidade de arrastar e soltar, execute o aplicativo e arraste alguns arquivos para o painel. Se necessário, você também pode depurar seu aplicativo Winforms no Visual Studio em tempo de execução. Isso ajudará você a entender o que está acontecendo em cada linha de código.
- Pressione o botão play verde na parte superior da janela do Visual Studio para executar o aplicativo.
- Arraste alguns arquivos do seu explorador de arquivos e solte-os no painel. Verifique se você não está executando o Visual Studio no modo de administrador. Você precisará configurar permissões extras de segurança para arrastar e soltar para funcionar no modo administrador.
- O painel será atualizado para mostrar os nomes dos arquivos que você arrastou para o painel.
- Arraste arquivos suficientes e você verá que o painel de arrastar e soltar exibe uma barra de rolagem no lado direito automaticamente.
- Clique no Claro botão para esvaziar a lista.
Usando a funcionalidade de arrastar e soltar em aplicativos de formulário do Windows
Agora, esperamos que você entenda como adicionar a funcionalidade de arrastar e soltar ao seu aplicativo Windows Form. Existem muitos outros recursos que você pode explorar para fazer coisas interessantes com o Windows Forms.