No desenvolvimento de aplicações, a gestão dos erros do programa é dos aspectos mais importantes. Não só para ajudar a identificar o respetivo erro, como também para melhorar o próprio software. Mas nem sempre é fácil perceber o que originou o erro, e o que o cliente estava a executar naquele preciso momento.
Um “printscreen” por vezes é sem dúvida muito importante para identificarmos qual o momento em que o erro “surgiu”, mas aqui temos um ponto problemático, por mais incrível que pareça, existem muitos utilizadores que não sabem como fazer um “printscreen” e depois guardar a imagem.
Para ultrapassar a falta de conhecimento de alguns utilizadores, nada melhor do que o software efectuar o “printscreen” sozinho.
Este é um procedimento extremamente simples, mas já encontrei na internet tutoriais incrivelmente complexos para efectuar “printscreen” numa aplicação em C#.
Neste tutorial abordarei três “tipos” de “printscreen”.
- PrintScreen a todo o ecrã (directo para o desktop)
- PrintScreen apenas à aplicação (directo para o desktop)
- PrintScreen apenas à aplicação (com escolha do caminho para guardar imagem)
Para começar, é necessário que a aplicação tenha os seguintes elementos.
- Picture box (apenas para ter uma imagem na aplicação)
- Botão para PrintScreen a todo o ecrã
- Botão para PrintScreen apenas à aplicação
- Botão para PrintScreen com escolha do caminho para guardar imagem
Como poderão verificar, o código é extremamente simples.
PrintScreen a todo o ecrã (directo para o desktop)
Temos de adicionar o seguinte namespace
E desta forma extremamente simples, já conseguimos efectuar o printscreen do ecrã.
O PrintScreen de todo ecrã é interessante, mas pode ser considerado intrusivo caso estejamos apenas a efectuar esse PrintScreen para analisar um possível erro.
Neste caso, é preferível apenas capturar a imagem do programa.
O código para este caso é semelhante ao anterior, pelo qual também é bastante simples.
Aproveito também para demonstrar outra forma de definir o bitmap.
PrintScreen apenas à aplicação (directo para o desktop)
Com um código praticamente igual ao anterior, alterando apenas onde o PrintScreen é “iniciado”, conseguimos capturar apenas a aplicação.
PrintScreen apenas à aplicação (com escolha do caminho para guardar imagem)
Para que seja possível ao utilizador escolher onde guardar a imagem, basta efectuar uma alteração na parte final do código.
Após definirmos qual a área a ser copiada.
Inserimos o seguinte código:
Em realce, podemos verificar o título deste “Save Image Dialog” e a extensão.
Como puderam verificar, é extremamente simples efectuar um PrintScreen através de uma aplicação em C#, sem ser necessário importar dll’s do Windows como cheguei a visualizar em tutoriais na internet.