none
Dúvida: Clicar sobre uma PictureBox e desenhar outra imagem por cima usando (With.Me) no VS2015 RRS feed

  • Pergunta

  • Boa Noite.

    Estou criando uma aplicação simples de teste em vb.net 2015, pois se der certo, passarei o código para a aplicação principal. Nessa aplicação eu teria que clicar sobre uma picturebox ou painel, e assim criar uma outra imagem onde eu cliquei (MousePosition), como se fosse desenhar. O prolema é que faço tudo certinho, mas na hora de criar a picturebox, quando eu clico em cima do painel ou de outra imagem ela simplesmente não aparece, não esta dando nenhum erro, e nem na form aparece a imagem no local onde eu cliquei. Mas quando eu usava o VS2010 isso funcionava corretamente. Usei o seguinte código:

    Imports System.Drawing.Color
    Public Class Form1
    
    Inherits System.Windows.Forms.Form
    
        Private ItemUser As New PictureBox
    
    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
    With Me.ItemUser
                .Image = (My.Resource.ImagemTeste)
                .BackgroundImageLayout = ImageLayout.Stretch
                .Size() = New System.Drawing.Point(56, 57)
                .Location = New System.Drawing.Point(MousePosition)
            End With
    
            With Me.Controls
                .Add(ItemUser)
            End With
    

    Será que o VS2015 Não esta aceitando este código? Tudo que eu quero é simplesmente poder clicar na imagem ou painel, e aparecer em cima, uma outra imagem que eu queira (picturebox) bem no local onde eu cliquei. Isso dava certo no 2010 não sei porque não esta pegando no 2015. E outra ja até tentei mudar o código de:

    Imports System.Drawing.Color

    para:

    Imports System.Drawing.Bitmap
    Mas nada adiantou. Se puder ajudar agradeço.

    terça-feira, 31 de janeiro de 2017 04:23

Respostas

  • Obrigado Robson pela ajuda, mas já descobri qual é o problema. Reinstalei o VS2010 pra ver, e deu mais ou menos certo, mas é que a imagem não esta esticando no .StretchImage por mais que eu habilite isso no código ela continua no tamanho original e por ela ser .png de fundo transparente, não vai mostrar nada porque esta dando zoom no "nada" se o fundo fosse colorido por exemplo, só ia mostrar a cor por que esta dando zoom na imagem e não esta mostrando ela inteira e se eu alterar o BorderStyle para FixedSingle por exemplo,vai dar pra "ver" pelo menos a borda quadrada da imagem, mas ela inteira não estou conseguindo. E um outro problema é que a imagem não esta aparecendo exatamente onde eu clico (embaixo do mouse) eu queria que fosse assim. O ruim é que leio e re-leio o código caçando "erro" e quanto mais leio mas vejo que esta certo, e não entendo porque esta dando errado. Mas em fim obrigado pela ajuda, vou tentar me virar aqui, se o problema persistir, volto aqui.


    terça-feira, 31 de janeiro de 2017 15:09

Todas as Respostas

  • Bom dia Vini Lima,

    Por gentileza, verifique se a sugestão neste link o ajuda:

    http://stackoverflow.com/questions/29908240/draw-a-dot-in-a-form-on-click-event

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 31 de janeiro de 2017 13:36
    Moderador
  • Obrigado Robson pela ajuda, mas já descobri qual é o problema. Reinstalei o VS2010 pra ver, e deu mais ou menos certo, mas é que a imagem não esta esticando no .StretchImage por mais que eu habilite isso no código ela continua no tamanho original e por ela ser .png de fundo transparente, não vai mostrar nada porque esta dando zoom no "nada" se o fundo fosse colorido por exemplo, só ia mostrar a cor por que esta dando zoom na imagem e não esta mostrando ela inteira e se eu alterar o BorderStyle para FixedSingle por exemplo,vai dar pra "ver" pelo menos a borda quadrada da imagem, mas ela inteira não estou conseguindo. E um outro problema é que a imagem não esta aparecendo exatamente onde eu clico (embaixo do mouse) eu queria que fosse assim. O ruim é que leio e re-leio o código caçando "erro" e quanto mais leio mas vejo que esta certo, e não entendo porque esta dando errado. Mas em fim obrigado pela ajuda, vou tentar me virar aqui, se o problema persistir, volto aqui.


    terça-feira, 31 de janeiro de 2017 15:09