Inquiridor
Componente em que o mouse clicou

Discussão Geral
-
Coloquei esse codigo no programa:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim t As New PictureBox t.BackColor = Color.Azure t.Top = 0 t.Left = 300 t.Visible = True Me.Controls.Add(t) End Sub
Apos o clique ficou assim:
Alguma sugestao para quando eu clicar em cima do picturebox eu consiga pegar o nome
do picturebox para usar em outros codigos, como mover, aumentar, trocar imagem etc.?
Grato.
Laercio Tersi
Todas as Respostas
-
Aqui amigo espero que ajude vc :)
Codigo
Public Class Form1 Dim WithEvents t As PictureBox = New PictureBox Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click t.BackColor = Color.Azure t.Name = "PictureBox1" t.BackgroundImageLayout = ImageLayout.Zoom t.Top = 0 t.Left = 300 t.Visible = True Me.Controls.Add(t) End Sub Private Sub t_Click(sender As Object, e As EventArgs) Handles t.Click MsgBox(sender.GetType.Name.ToString) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click CType(t, PictureBox).Top = 20 CType(t, PictureBox).Top = 250 CType(t, PictureBox).Image = Image.FromFile("C:\Users\Pjoao1578\Desktop\Icones\My image.png") End Sub End Class
-
então, estamos quase la, veja o programa já coloca uma picturebox e já move o picture box, porem preciso que
quando clicar no mesmo botão ele coloque outro pircturebox e mova o também, e se clicar de novo vai colocoar outro picturebox, a unica coisa que vai mudar que vou colocar um openfiledialog para eu poder escolher varias imagens no meu pc, depois também vou ter que colocoar a opção de deletar um dos picturebox.
O código inteiro está assim:
Public Class Form1 Dim WithEvents t As PictureBox = New PictureBox 'declaracao do t 'inicio codigos para mover picturebox Private Const WM_NCLBUTTONDOWN = &HA1 Private Const HTCAPTION = 2 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Integer, ByVal wMsg As Integer, _ ByVal wParam As Integer, ByVal lParam As String) As Integer Private Declare Sub ReleaseCapture Lib "user32" () 'fim dos codigos para mover picturebox 'botao que coloca o picturebox Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click t.BackColor = Color.Azure t.Name = "PictureBox1" t.BackgroundImageLayout = ImageLayout.Zoom t.ImageLocation = "C:\teste.png" t.Top = 0 t.Left = 300 t.Visible = True Me.Controls.Add(t) End Sub 'Deslocamento da PictureBox Private Sub t_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles t.MouseMove Dim lHwnd As Int32 lHwnd = t.Handle If lHwnd = 0 Then Exit Sub ReleaseCapture() SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&) End Sub End Class
Laercio Tersi
-
-
-
Assim
Codigo
Public Class Form1 Dim WithEvents t As PictureBox = New PictureBox 'declaracao do t 'inicio codigos para mover picturebox Private Const WM_NCLBUTTONDOWN = &HA1 Private Const HTCAPTION = 2 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Integer, ByVal wMsg As Integer, _ ByVal wParam As Integer, ByVal lParam As String) As Integer Private Declare Sub ReleaseCapture Lib "user32" () 'fim dos codigos para mover picturebox 'botao que coloca o picturebox Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click t = New PictureBox t.BackColor = Color.Azure t.Name = "PictureBox1" t.BackgroundImageLayout = ImageLayout.Zoom t.ImageLocation = "C:\teste.png" t.Top = 0 t.Left = 300 t.Visible = True Me.Controls.Add(t) End Sub 'Deslocamento da PictureBox Private Sub t_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles t.MouseMove Dim lHwnd As Int32 lHwnd = t.Handle If lHwnd = 0 Then Exit Sub ReleaseCapture() SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&) End Sub End Class
-
-
-