none
Trocar imagem de Picturebox com My.Resources.Imagem + Numero RRS feed

  • Pergunta

  • Olá, só sei programar em Visual Basic, mas estou ficando meio decepcionado. Tenho um form com fundo branco e meu objetivo é fazer uma imagem aparecer esmaecendo (aparecer gradativamente, fadein), tentei de tudo, mas parece que o único controle com opacity é o form. Tentei até fazer um form filho com fundo branco abrir exatamente sobre a imagem fazendo um fadeout (indo do branco ao transparente), mas o maldito perde a propriedade opacity quando é filho. A solução morosa que pensei foi criar 100 imagens com opacidade de 1 a 100  e ir aumentando com um timer, e trocando a imagem até chegar no 100, muito trabalhoso e inviável, mas vou insistir. O problema é que não encontro uma forma de concatenar o nome da imagem dentro do My.Resources exemplo algo como Picturebox1.imagem= My.Resources.Figura(1).

    Em pesquisa vi a ideia de fazer um select case com uma variável.  

    f Indice > 3 then Indice = 1
    Select Case Indice
       Case 1
         PictureBox1.Image= My.Resources.Figura1
       Case 2
         PictureBox1.Image= My.Resources.Figura2
       Case 3
         PictureBox1.Image= My.Resources.Figura3
    End Select


    Mas fazer isso 100 vezes é mais uma inviabilidade.

    Depois da minha história triste, alguém sabe uma forma melhor de fazer o fadein de uma imagem num form ou uma forma de concatenar o nome das imagens do My.Resources?

    sexta-feira, 13 de maio de 2016 08:36

Respostas

  • Pessoal, achei uma maneira viável de concatenar o nome das imagens do My.Resouces. Vou colocar aqui pensando no próximo, mas se alguém souber uma maneira melhor de fazer um fadein de uma imagem, por favor responda

    Dim indice As Integer = 1 'colocar a variavel na classe do form

    Dim imagemEscolhida As Image = My.Resources.ResourceManager.GetObject("figura" & indice)

    picturebox1.Image = imagemEscolhida

    indice +=1 'incrementar variável


    • Marcado como Resposta Marcos SJ sexta-feira, 13 de maio de 2016 12:26
    sexta-feira, 13 de maio de 2016 09:14