Minicursos - C#

PictureBox e OpenFileDialog


Há alguns tópicos eu falei sobre o PictureBox isoladamente, recebendo uma imagem estática. Agora vamos falar dele junto com o OpenFileDialog. Eles formam um par e tanto!

Bom, sem me prologar muito, a PictureBox, apenas relembrando, é uma caixa que pode armazenar imagens de formatos diversos. Já o OpenFileDialog é uma caixa de seleção de arquivos. Elas funcionam muito bem em conjunto, pois, para permitir que o usuário altere a imagem da PictureBox é necessário lhe dar uma forma de selecioná-la e esse é o papel do OpenFileDialog. A ligação entre eles é muito fácil de ser feita. Vamos abrir nosso pequeno programa de Controle de Clientes e, no formulário frmSobre, adicionar uma PictureBox e um botão, conforme a imagem abaixo:

PictureBox e OpenFileDialog

A PictureBox eu nomeei de "picLogo" e o botão de "btnCarregarImagem".

Agora vamos adicionar o componente OpenFileDialog, arrastando-o para o formulário e nomeando-o como "ofdLogo", conforme mostra a imagem abaixo:

PictureBox e OpenFileDialog

Vamos começar a adicionar código a estes componentes. Comecemos clicando duas vezes no botão "Carregar Imagem" para gerar o método Click e, dentro dele, vamos adicionar o código abaixo:

PictureBox e OpenFileDialog

Foram necessários estes quatro parâmetros, pois estamos lidando com uma caixa de diálogo, que é um componente grande e com muitas variáveis, mas tudo é bastante simples e intuitivo. De qualquer forma, abaixo segue o código comentado:

PictureBox e OpenFileDialog

Como próximo passo vamos clicar duas vezes no OpenFileDialog:

PictureBox e OpenFileDialog

Com isso criaremos o método FileOk. Agora, dentro dele, criaremos o seguinte código:

picLogo.Image = Image.FromFile(ofdLogo.FileName);

O que este código faz é adicionar à propriedade Image da PictureBox, uma imagem do arquivo que foi selecionado pelo OpenFileDialog e que será enviado através do seu método FileName, que retorna uma string com o caminho do arquivo. Parece complicado, mas não é!

Agora vamos executar o código, abrir o formulário "Sobre o Programa" e clicar em “Carregar Imagem”. Você terá uma tela parecida com a imagem abaixo:

PictureBox e OpenFileDialog

Vou selecionar um arquivo qualquer para ilustrar como ele será inserido no PictureBox.

PictureBox e OpenFileDialog

Aí está a imagem inserida, no entanto ela não coube na PictureBox e está sendo exibido apenas um trecho da mesma. Isso pode ser facilmente corrigido alterando a propriedade SizeMode, conforme ilustra a figura abaixo:

PictureBox e OpenFileDialog

Alterando o valor desta propriedade para StretchImage, ela será ajustada automaticamente na PictureBox. Vou executar o código novamente agora para demonstrar a diferença, vejam:

PictureBox e OpenFileDialog

Agora a imagem está ajustada à PictureBox!

Podemos adicionar uma borda, conforme explicado no tópico apenas sobre PictureBox, alterando a propriedade BorderStyle e deixando-a assim:

PictureBox e OpenFileDialog

É isso! Com este tópico demonstrei como utilizar o OpenFileDialog para carregar uma imagem para uma PictureBox. A forma de utilizá-lo para outros tipos de arquivos é a mesma!

Na sequência falarei sobre várias propriedades do Visual C# que ajudarão a programar o código ou a melhorar a aparência dos formulários.



Notícias - Games

Atari VCS é finalmente lançado e surpreende

O Atari VCS foi lançado recentemente e trouxe suporte a praticamente todos os serviços de streaming de jogos já disponíveis. A única exceção foi por conta do Playstation Now, cujo suporte nativo não é oferecido, mas ele pode ser acessado através do modo PC do VCS, já que o console possui Googl...

Ler Notícia Completa

Conheça o Playstation 2 portátil criado por um brasileiro

Claudio Adriano decidiu criar uma versão portátil do console Playstation 2, da Sony. Inspirado no Nintendo Switch, o console ficou pronto depois de 2 anos de trabalho e algumas interessantes adaptações. Partindo de uma placa-mãe de um PS2 Slim, Claudio fez os encaixes necessários para que a pla...

Ler Notícia Completa

PS5 com SSDs não originais apresentam ótimo resultado

A última atualização do PS5 permite que se faça a expansão do armazenamento do console. Embora o aparelho exija características específicas para os dispositivos de expansão, como taxa de leitura de 5Gb/s, ele funciona surpreendentemente bem com SSDs de velocidades inferi...

Ler Notícia Completa

Capcom Pro Tour sofre o cancelamento de algumas etapas por conta do coronavírus

Em um comunicado ao público via redes sociais, a Capcom revelou que algumas etapas do Capcom Pro Tour foram removidas do calendário como precaução contra o surto de coronavírus pelo mundo...

Ler Notícia Completa

Conheça o Stadia: a incrível plataforma de streaming de games do Google

O Google deu o pontapé inicial para o que espera ser o futuro dos videogames: consoles e hardware em geral ficam em segundo plano, e os games rodam em qualquer dispositivo via streaming. A plataforma Stadia promete levar jogos para notebooks, TVs, celulares e muito mais. O projeto do Google se...

Ler Notícia Completa
Ajude o Contém Bits com um cafezinho!

Se você gostou do artigo, se ele lhe foi útil de alguma maneira e você quiser ajudar o Contém Bits, saiba que é simples, fácil e rápido. Basta clicar na imagem do PayPal (ou no cafezinho) e seguir as instruções, em ambiente seguro e com o respaldo do Paypal. Eu agradeço muito! :)


Você gostará destes vídeos!