Você está aqui: C# ::: Namespace System.Drawing ::: Graphics

Como usar o método CopyFromScreen() da classe Graphics para tirar uma foto (print screen, screenshot) da tela a partir de suas aplicações C# e salvá-la como uma imagem JPG

Quantidade de visualizações: 7232 vezes
Em algumas situações pode ser necessário tirar uma foto (print screen, screenshot) da tela a partir de nossas aplicações C# e salvá-la como uma imagem JPG. Para isso podemos usar o método CopyFromScreen() da classe Graphics. A versão mais simples deste método possui a seguinte assinatura:

public void CopyFromScreen(Point upperLeftSource, 
  Point upperLeftDestination, Size blockRegionSize);
O parâmetro upperLeftSource indica as coordenadas x e y a partir da tela, ou seja, de onde a imagem está sendo copiada. O parâmetro upperLeftDestination indica as coordenadas x e y do objeto no qual o desenho será feito. Finalmente o parâmetro blockRegionSize indica o tamanho da área a ser transferida. Note que Point.Empty indica o valor 0 para x e y.

Veja um trecho de código no qual clicamos em um botão, tiramos o print screen da tela e salvamos a imagem com o nome de "foto_tela.jpg":

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click_1(object sender, EventArgs e){
  // vamos obter um retângulo representando o tamanho completo da tela
  Rectangle bounds = Screen.GetBounds(Point.Empty);

  // vamos criar um Bitmap do tamanho da tela
  Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height);
  
  // agora obtemos um Graphics a partir do Bitmap
  Graphics g = Graphics.FromImage(bitmap);
  
  // obtemos o print screen da tela
  g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
  
  // e finalmente salvamos como um arquivo JPG
  bitmap.Save("foto_tela.jpg", ImageFormat.Jpeg);

  // vamos liberar o objeto Graphics
  g.Dispose();

  // vamos liberar o Bitmap
  bitmap.Dispose();
}

Veja que aqui eu usei o valor Jpeg da classe ImageFormat (no namespace System.Drawing.Imaging) para indicar que a foto da tela será salva como JPEG. Se você quiser outro formato, bastará indicar outros valores, tais como Png, Bmp, Gif, etc.

Link para compartilhar na Internet ou com seus amigos:

C# ::: Windows Forms ::: ComboBox

Como retornar a quantidade de itens em um ComboBox do C# Windows Forms

Quantidade de visualizações: 9337 vezes
A quantidade de elementos (ou itens) em um ComboBox do C# Windows Forms pode ser obtida por meio da propriedade Count da classe ComboBox.ObjectCollection. Podemos ter acesso a esta classe a partir da propriedade Items da classe ComboBox.

Veja um trecho de código no qual obtemos a quantidade de itens em um ComboBox chamado cidades:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  int quant = cidades.Items.Count;
  MessageBox.Show("O ComboBox contém " + quant + " itens");
}



C# ::: Windows Forms ::: ListBox

Como retornar o valor do item selecionado em uma ListBox do C# Windows Forms usando a propriedade SelectedItem

Quantidade de visualizações: 13280 vezes
Nesta dica mostrarei como podemos usar a propriedade SelectedItem em C# Windows Forms para obter o item selecionada em uma ListBox. Note que este método retorna um object.

Veja no trecho de código a seguir como podemos clicar em um botão e exibir em uma MessageBox o valor do item selecionado na ListBox:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e) {
  // retorna o item selecionado na ListBox
  MessageBox.Show("O item selecionado é: " +
    listBox1.SelectedItem);
}

Ao executar o exemplo nós teremos o seguinte resultado:

O item selecionado é: Curitiba


C# ::: Windows Forms ::: ListBox

Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted

Quantidade de visualizações: 10393 vezes
Os itens de uma ListBox podem ser ordenados alfabeticamente definindo-se o valor True para a propriedade Sorted. Em tempo de execução este propriedade pode ser alterada da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // Ordena os itens da lista alfabeticamente
  listBox1.Sorted = true;
}

Esta propriedade pode também ser obtida enquanto o programa estiver em execução. Veja um trecho de código no qual clicamos em um botão e exibimos uma mensagem com o valor da propriedade Sorted da ListBox:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e) {
  // Obtém o valor da propriedade Sorted
  MessageBox.Show("Valor da propriedade Sorted: " +   listBox1.Sorted);
}

Ao executarmos este código C# nós teremos o seguinte resultado:

Valor da propriedade Sorted: True


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 42 usuários muito felizes estudando em nosso site.