Uma solução perfeita para efeito de animação de janela sem borda baseada em C# - Artigos da série de pesquisa de código aberto

       Recentemente, eu estava organizando e escrevendo um aplicativo WinForm baseado em C#, e então encontrei um problema que outros leitores também podem encontrar, ou seja, o efeito de animação do formulário Borderless borderless do C#.

       No Visual Studio 2022, o programa C# WinForm fornece o efeito de estilo do formulário sem borda sem borda, mas não fornece o efeito de animação de carregar, minimizar e maximizar o formulário sob o formulário sem borda. . Muitos leitores devem ter encontrado esse problema de efeito de animação. Procurei outros exemplos de formulários sem borda, muitos dos quais apenas definem o estado do formulário como minimizado ou maximizado no botão, mas esse formulário é exibido e desaparece diretamente, não há formulário com efeito de animação na barra de título. Portanto, para resolver esse problema, você mesmo precisa lidar com o efeito de animação dessa forma sem bordas. Depois de pesquisar e codificar, finalmente tenho a postagem de hoje no blog sobre a solução de efeito de animação perfeita para janelas sem borda. Veja a seguinte introdução para detalhes:

  1. Diretório do projeto;

  Veja a captura de tela abaixo para o diretório do projeto. Para obter detalhes, abra a solução para visualizá-la.

   

  2. Introdução de alguns códigos;

  A seguir, uma introdução a alguns códigos de função.

  1) Definição de classe pai de formulário sem borda;

  O autor da classe pai organiza e coloca no diretório BorderlessAnimation no diretório Componet, copia diretamente o diretório para o projeto correspondente e os leitores de código específicos alteram o namespace no arquivo Native.cs e no arquivo FormBase.cs por conta própria e, em seguida, coloque-o no correspondente Na biblioteca de componentes ou na pasta do projeto, outros formulários usados ​​podem ser aplicados.

  Algumas funções de API usadas por essa classe pai são colocadas em Native.cs. O arquivo FormBase é a classe de herança do formulário, que grava principalmente funções como o processamento de mensagens do formulário.

  2) Exemplo de código para formulário sem borda;

  O formulário herda a classe, processa principalmente a mensagem do formulário e, em seguida, executa a operação. O seguinte é um exemplo e a função de implementação está no arquivo. Os leitores são convidados a ler por si mesmos. Por ser relativamente simples, nenhum comentário é escrito.

   

  3) Exemplo de aplicação de formulário;

  Dois exemplos de uso de formulário são fornecidos no projeto. Demo1 é o exemplo original e Demo2 é um exemplo de uso escrito pelo autor, é mais conciso e os leitores podem modificá-lo diretamente de acordo com suas necessidades.

   

  3. Diagrama de efeito da operação;

  Aqui está o efeito da corrida:

  1) O exemplo original:

   

  2) Um exemplo conciso:

   

  4. Download do código-fonte;

  O download do código-fonte é fornecido aqui, abra o seguinte link se precisar: https://download.csdn.net/download/lzhdim/88084280

  No final da redação, se você tiver algum problema com esta solução, poderá modificar e atualizar o código-fonte, para que o código-fonte desta solução possa ajudar mais leitores que precisam resolver o efeito de animação de formulário sem borda. Na verdade, a classe pai da janela sem borda é principalmente para modificar a janela por meio das funções API fornecidas pelo sistema Windows e, em seguida, processar as mensagens da janela relacionadas para execução. Os leitores são solicitados a ler o código-fonte para obter detalhes. Esta solução é a solução de janela sem borda C# mais perfeita que o autor compilou até agora. Se os leitores tiverem outras soluções e códigos-fonte melhores, forneça-os para que o autor também possa aplicá-los.

Acho que você gosta

Origin blog.csdn.net/lzhdim/article/details/131908658
Recomendado
Clasificación