Como Gerenciar Elementos Gráficos em Buffer Manualmente
Para cenários de buffer duplo mais avançados, você pode usar as classes do .NET Framework para implementar sua própria lógica de buffer duplo. A classe responsável por alocar e gerenciar buffers gráficos individuais é a BufferedGraphicsContext classe. Cada aplicativo tem seu próprio padrão BufferedGraphicsContext que gerencia todo o buffer duplo padrão para esse aplicativo. Você pode recuperar uma referência a essa instância chamando o Current.
Para obter uma referência para o BufferedGraphicsContext padrão
Defina a propriedade, conforme mostrado no exemplo de código a Current seguir.
BufferedGraphicsContext myContext; myContext = BufferedGraphicsManager.Current;
Dim myContext As BufferedGraphicsContext myContext = BufferedGraphicsManager.Current
Observação
Você não precisa chamar o
Dispose
método na BufferedGraphicsContext referência que você recebe da BufferedGraphicsManager classe. O BufferedGraphicsManager manipula toda a alocação e distribuição de memória para instâncias padrão BufferedGraphicsContext .Para aplicativos graficamente intensivos, como animação, às vezes você pode melhorar o BufferedGraphicsContext desempenho usando um dedicado BufferedGraphicsContext em vez do fornecido pelo BufferedGraphicsManager. Isso permite que você crie e gerencie buffers de gráficos individualmente, sem incorrer na sobrecarga de desempenho de gerenciar todos os outros elementos gráficos em buffer associados à sua aplicação, embora a memória consumida pela aplicação será maior.
Para criar um BufferedGraphicsContext dedicado
Declare e crie uma nova instância da BufferedGraphicsContext classe, conforme mostrado no exemplo de código a seguir.
BufferedGraphicsContext myContext; myContext = new BufferedGraphicsContext(); // Insert code to create graphics here. // On a non-default BufferedGraphicsContext instance, you should always // call Dispose when finished. myContext.Dispose();
Dim myContext As BufferedGraphicsContext myContext = New BufferedGraphicsContext ' Insert code to create graphics here. ' On a nondefault BufferedGraphicsContext instance, you should always ' call Dispose when finished. myContext.Dispose()
Confira também
.NET Desktop feedback