Ir para o conteúdo
wawrcat

Trocar a imagem de picturebox

Mensagens Recomendadas

wawrcat

Olá desculpem se a pergunta for estúpida, mas eu gostava de saber se podia trocar a imagem de uma picturebox durante a utilização do programa usando uma variável ao algo do género.

Por outras palavras eu quero guardar a imagem que eu quero usar numa variável e depois coloca-la numa picturebox especifica.

Eu normalmente tenho as imagens nos meu recursos por isso uso:

picturebox1.image =my.resources.(nome da imagem)

Eu tentei guardar uma imagem na propriedade de uma classe por exemplo:

Public class class1
property car as image
end class

depois coloquei num modulo os dados:

module module 1
Public car as car
car.car =my.resources.(nome da imagem)
end module

Para finalmente por:

picturebox1.image = car.car

mas não resultou. Podem me ajudar?

Editado por ribeiro55

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Public car As NEW car

E também precisas de inicialização no módulo:

Sub New()
car.car = My.Resources.Nome_Da_Imagem
End Sub

Podias também simplificar a coisa, se a ideia é só chamar car à imagem e torná-la acessível em qualquer lado:

Public Class car
Public Shared car As Image = My.Resources.Nome_Da_Image
End Class

Para além disto, há aqui mais perguntas que deverias estar a fazer:

Para quê colocar isto numa classe com um módulo a mediar?

Para quê colocar isto num módulo à mistura com uma classe?

A tua classe car só tem um membro? Para imagem? Para quê?

Editado por ribeiro55

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
wawrcat

Obrigado por responderes.

Quanto as perguntas eu sinceramente ainda não fui capaz de entender muito bem para que serve o modulo e quando devo utiliza-lo criei o modulo por acaso.

Quanto á classe isto foi mais um exemplo do meu problema na realidade a classe tem duas propriedades

uma do tipo imagem e uma do tipo string que corresponde ao nome, a ideia é ter múltiplas pictureboxes e através do nome o programa introduzir a imagem correspondente.

É eu ainda não percebi de todo esse "new", no entanto o meu problema é que a minha variavel publica car seria um array e ele dá me erro se eu usar "new" .

para que serve o "sub new()"?

Por ultimo poderias explicar-me para que serve o comando "shared" ou sugerir-me um site onde possa ler sobre o comando e talvez perceber a linha de código que colocaste ?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

O New cria uma instância da classe. Nesse caso, cada classe representa um único carro.

Não vais colocar uma classe com um array para todos os carros. Não faz o menor sentido.

Se a tua classe for algo como:

Public Class Carro
   Public Nome As String
   Public Imagem As Image

   Sub New(Nome As String, Imagem As Image)
       Me.Nome = Nome
       Me.Imagem = Imagem
   End Sub
End Class

Podes depois preencher o teu array assim:

Dim Carros(2) As Carro 'Ou Public lá no módulo ou onde quiseres, aqui sem o "New" porque é um array de carros
Carros(0) = New Carro("Volvo", ImagemCarro1)
Carros(1) = New Carro("Mercedes", ImagemCarro2)
Carros(2) = New Carro("BMW", ImagemCarro3)

Que depois podes aceder assim:

Carros(1).Nome 'Isto vai dar "Mercedes"

De qualquer forma, aconselharia a esqueceres os arrays e a usares implementações de mais possibilidade, como é o caso da List(Of Carro).

Podes encontrar mais informação na Wiki da comunidade.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.