none
correr picturebox se value null carregar imagem RRS feed

  • Pergunta

  • ola viva a todos....

    Pessoal, antes de mais dexem dizervos que não possuo nenhuma formaçãoo em programação e agora deparo-me com um problema que nao estou a consegir ultrapassar....esperava vossa ajuda se possivel.
    É o seguinte tenho este codigo,

    sub aaa
    
            For j = 0 To ListBox1.Items.Count - 1
                Dim pctbox As New PictureBox
                Dim i As Integer
                pctbox.Name = ("" + i.ToString)
                pctbox.Tag = i
                pctbox.Location = New Drawing.Point(10 * i + 50 * i, 20)
                pctbox.Visible = True
                pctbox.Size = New System.Drawing.Size(100, 100)
                pctbox.BackColor = Color.Blue
                pctbox.Enabled = True
    
    
                pctbox.ImageLocation = (appPath & "\Res\A\" & i & ".jpg")
                pctbox.SizeMode = PictureBoxSizeMode.StretchImage
                Controls.Add(pctbox)
                AddHandler pctbox.Click, AddressOf pic_Click
                i += 1
                FlowLayoutPanel1.Controls.Add(pctbox)
            Next
    
        End Sub

    vai mandar-me para o  AddressOf pic_Click com o seguinte codigo,

     Private Sub pic_Click(ByVal sender As Object, ByVal e As EventArgs)
    
            Dim pic As PictureBox = DirectCast(sender, PictureBox)
            Dim i As Integer = pic.Name
    
                Select Case sender.tag
    
                    Case 0
    
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 1
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 2
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 3
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 4
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 5
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 6
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 7
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 8
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case 9
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                    Case Else
                        tela1.ImageLocation = (appPath & "\Res\A\" + pic.Name & ".jpg")
                End Select
    
    
                i += 1

    e aqui é que me reside o problema...


    aqui tela1 é uma picturebox e necessito criar 9, tela1 , tela2, tela3,  ate tela 9,...

    o que pretendia é que nas case corresse um codigo, não sei bem, que me visse a tela1 se ja tivesse carregado uma imagem passase para a tela2 e assim fazer um ciclo rotativo.... ate a tela9 , é este o meu problema e não consigo ultrapassar...


    Grato pela atenção...

    domingo, 19 de abril de 2015 18:42

Respostas

  • Bom dia Namek01, tudo bom?

    O que exatamente seu código tem que fazer? Ele deve verificar se uma pictureBox possui uma imagem, e quando possuir, deve criar uma pictureBox nova para exibir a imagem seguinte de uma série de imagens? É isso? 

    Se este for o caso, como uma resposta preliminar, posso te recomendar a utilização de um laço de repetição invés de um Case. Se você por exemplo utilizar um foreach que recebe como fonte de iterações a sua série de imagens, poderá nem mesmo precisar das  verificações, criando somente um pictureBox para as imagens existentes.

        For Each caminhoImagem As String In Imagens
          'Codigo que cria uma picturebox nova e atribui caminhoImagem
          'a propriedade ImageLocation do  pictureBox
        Next

    Espero ter ajudado.

    Att,

    quarta-feira, 22 de abril de 2015 13:32

Todas as Respostas

  • Bom dia Namek01, tudo bom?

    O que exatamente seu código tem que fazer? Ele deve verificar se uma pictureBox possui uma imagem, e quando possuir, deve criar uma pictureBox nova para exibir a imagem seguinte de uma série de imagens? É isso? 

    Se este for o caso, como uma resposta preliminar, posso te recomendar a utilização de um laço de repetição invés de um Case. Se você por exemplo utilizar um foreach que recebe como fonte de iterações a sua série de imagens, poderá nem mesmo precisar das  verificações, criando somente um pictureBox para as imagens existentes.

        For Each caminhoImagem As String In Imagens
          'Codigo que cria uma picturebox nova e atribui caminhoImagem
          'a propriedade ImageLocation do  pictureBox
        Next

    Espero ter ajudado.

    Att,

    quarta-feira, 22 de abril de 2015 13:32
  • Obrigado por respoder vou ver qual o resultado
    quarta-feira, 22 de abril de 2015 21:19