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:
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:
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:
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:
Como próximo passo vamos clicar duas vezes no 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:
Vou selecionar um arquivo qualquer para ilustrar como ele será inserido no PictureBox.
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:
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:
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:
É 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.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Galaxy Game

As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Duck Hunt

Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".
Senhas

Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.
Nintendo Entertainment System

O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.
Mortal Kombat - O Filme

O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.










