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 seleciona-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 utiliza-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.



Algumas notícias

O que acontece com o cérebro no exato momento em que morremos

O que passa em nossa cabeça no momento da morte? Não se sabe exatamente e, embora os cientistas tenham alguma resposta, a resposta continua sendo um grande mistério. Além de difícil solução, tentar respondê-la pode criar implicações éticas. No entanto, uma equipe de cientistas da Universidade...

Ler Notícia Completa

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Um bebê pode nascer duas vezes? Não é o caso da absoluta maioria das crianças, mas foi assim para a pequena Lynlee Boemer. Em outubro de 2015, sua mãe, Margaret Boemer, descobriu que estava grávida de gêmeos. Ela sofreu um aborto espontâneo, mas um dos bebês sobreviveu. Com dez semanas de ges...

Ler Notícia Completa

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Cientistas dizem que estão mais perto de criar um exame de sangue universal, capaz de identificar todos os tipos de câncer. Estudo conduzido com 1.005 pacientes por uma equipe da Universidade Johns Hopkins, dos Estados Unidos, testou um método que detecta oito tipos de proteínas e 16 mutações ge...

Ler Notícia Completa

Formato JPEG está com os dias contados

Há quantos anos você ouve falar em arquivos JPG? O formato já era utilizado nos primórdios da web comercial nos anos 1990, vivendo há mais de 20 anos como o principal método de compressão de imagens do público. No que depender de Google, Mozilla e outras empresas, isso pode mudar dentro de algum...

Ler Notícia Completa

EUA aprovam 'droga viva', 1ª terapia contra câncer que reestrutura sistema imunológico do paciente

Os Estados Unidos aprovaram o primeiro tratamento que reestrutura o sistema imunológico do paciente para atacar o câncer. A agência reguladora de medicamentos do país - a FDA - diz que a decisão foi um momento "histórico" e que a medicina agora "entra em uma nova fronteira". A companhia Novar...

Ler Notícia Completa

Cientistas norte-americanos criaram anticorpo capaz de atacar 99% das variações de HIV

Um grupo formado por pesquisadores do Instituto Nacional de Saúde (NIH), dos Estados Unidos, e da empresa farmacêutica Sanofi criaram em laboratório anticorpos superdesenvolvidos capazes de atacar 99% das cepas de HIV. O feito é ainda mais significativo por ser capaz até mesmo de prevenir a infec...

Ler Notícia Completa

Facebook investirá mais de US$ 1 bilhão em conteúdo original em 2018

Anunciada em agosto, a plataforma original de vídeos do Facebook, Watch, parece ser a grande aposta de Mark Zuckerberg para o ano que vem. De acordo com o TechCrunch, a empresa deve investir US$ 1 bilhão para criar e incentivar iniciativas voltadas para a produção de conteúdo audiovisual exclu...

Ler Notícia Completa

Software da Adobe é capaz de manipular gravações de voz e criar frases com perfeição

O software se chama Voco, foi desenvolvido pela Adobe (a mesma criadora do Photoshop) e permite manipular gravações de voz com uma precisão inédita, inclusive criando frases que a pessoa não disse. Na demonstração do app, um técnico forjou uma gravação em que um homem dizia “eu beijei a Jordan...

Ler Notícia Completa
Você gostará destes vídeos: