Por Sharlene Khan

Adicione suporte para uploads de arquivos com a usabilidade intuitiva de arrastar e soltar.

Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

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

instagram viewer

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.

  1. Criar um novo aplicativo Windows Forms.
  2. Na caixa de ferramentas, procure um elemento de interface do usuário do painel e arraste-o para a tela.
  3. 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

  4. 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.
  5. 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.

  1. Realce o elemento de interface do usuário do painel externo.
  2. Na janela de propriedades, clique no botão Iluminação ícone para abrir a lista de eventos.
  3. Clique duas vezes no DragEnter evento para gerar uma nova função. Esta função será executada quando você arrastar arquivos sobre o painel.
  4. 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;
    }
  5. 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.
  6. 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.
  7. 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.

  1. 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)
    {

    }
  2. 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));
  3. 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);
    }
  4. 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;
  5. 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.

  1. Usando a caixa de ferramentas, arraste um botão para a tela.
  2. 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

  3. 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)
    {

    }

  4. 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.

  1. Pressione o botão play verde na parte superior da janela do Visual Studio para executar o aplicativo.
  2. 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.
  3. O painel será atualizado para mostrar os nomes dos arquivos que você arrastou para o painel.
  4. Arraste arquivos suficientes e você verá que o painel de arrastar e soltar exibe uma barra de rolagem no lado direito automaticamente.
  5. 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.

Assine a nossa newsletter

Comentários

CompartilharTweetarCompartilharCompartilharCompartilhar
cópia de
E-mail
Compartilhar
CompartilharTweetarCompartilharCompartilharCompartilhar
cópia de
E-mail

Link copiado para a área de transferência

Tópicos relacionados

  • Programação
  • Programação
  • Explorador de arquivos
  • Desenvolvimento web

Sobre o autor

Sharlene Khan (71 Artigos Publicados)

Shay trabalha em tempo integral como desenvolvedor de software e gosta de escrever guias para ajudar outras pessoas. Ela é bacharel em TI e tem experiência anterior em Garantia de Qualidade e tutoria. Shay adora jogar e tocar piano.