CÓDIGO OBJETO DINAMICO

FGONCALVES 16/02/2016 23:55:38
#457743
Tenho um programa que mostra as fotos dos pacientes de um cliente meu.
Dentro de cada picturebox dessas tais fotos tem um radiobutton onde o cliente clica e se abre uma tela com a foto maior. zoom maior para uma melhor vizualização.
porem, eu preciso colocar um código nesse picturebox ou no radiobutton que é criado em tempo de execução (dinamicamente)
Como eu faço???

Desde já, agradeço a todos!!!
KERPLUNK 17/02/2016 00:28:39
#457744
Bom, vai depender de como ele está sendo criado dinamicamente... Pode nos mostrar essa parte?
KURTGU 17/02/2016 07:38:36
#457752
Eu aqui consigo fazer isso usando um user control que eu criei adiciono as fotos dentro de um flowlayouy panel e ao clickat na foto ele da um zoom...
FOXMAN 17/02/2016 16:24:59
#457790
Citação:

:
Tenho um programa que mostra as fotos dos pacientes de um cliente meu.
Dentro de cada picturebox dessas tais fotos tem um radiobutton onde o cliente clica e se abre uma tela com a foto maior. zoom maior para uma melhor vizualização.
porem, eu preciso colocar um código nesse picturebox ou no radiobutton que é criado em tempo de execução (dinamicamente)
Como eu faço???

Desde já, agradeço a todos!!!



Já que é criado dinamicamente acredito que você faça algumas definições para esses controles.....
Verifique que no exemplo que vou postar estou criando esse botão dinamicamente.

  [ô]------Botão Cancelar--------
bt = New Button
bt.BackColor = fobc
bt.Size = New System.Drawing.Size(sw, sh)
bt.Name = [Ô]btnCancelar[Ô]
bt.Text = [Ô]Fechar[Ô]
bt.Tag = [Ô]ESC[Ô]
bt.Atalho = [Ô]ESC[Ô]
bt.Font = f
bt.ForeColor = fo
bt.TextAlign = btTexAli
bt.ImageAlign = btImgAlin
Try
Dim img As Image
img = Image.FromFile(cnfConfig.PathImagens & [Ô]\[Ô] & bt.Tag.ToString() & [Ô].png[Ô])
img = New Bitmap(img, New Size(btnDrwPoint))
bt.Image = img
bt.ImageAlign = btImgAlin
Catch ex As System.IO.FileNotFoundException

End Try
bt.Cursor = cur
bt.TabStop = False
AddHandler bt.Click, AddressOf Application.Exit [ô] Atribuo uma ação ao botão, que poderia ser uma chamada a qualquer método ou função.
flp.Controls.Add(bt)
flp.Visible = True
[ô]------------------------------


Você pode utilizar o mesmo processo, apenas mudando o tipo de controle de button para o que vc desejar(que no seu caso um radiobutton)
FGONCALVES 17/02/2016 21:48:40
#457811

Eis o código de como os controles são criados. Desde já agradeço a tds.



Dim TfrmFotos As New frmFOTOS
Dim Iniciar As clsINICIAR
Dim ArquivoINI As String = Iniciar.nomeArquivoINI()
Dim LocalFoto As String = Iniciar.GetIniString(ArquivoINI, [Ô]Fotos[Ô], [Ô]Endereco[Ô], String.Empty)
Dim arq As Integer

Dim arquivo As String = LocalFoto & [Ô]\[Ô] & Format(CLng(Codigo), [Ô]00000[Ô]) & Chr(arq + 65) & [Ô].jpg[Ô]

Do While System.IO.File.Exists(arquivo)
Dim pct As New PictureBox
Dim chk As New CheckBox
Dim opt As New RadioButton
Dim t = 0, l As Integer = 0
Dim i As Integer = 1

For Each pic As Control In TfrmFotos.pnlLISTAFOTOS.Controls
If DirectCast(pic, PictureBox).Name = [Ô]pctFOTO[Ô] & i Then
l = pic.Left + pic.Width + 5
If i Mod 3 = 0 Then
t = pic.Top + pic.Height + 5
l = 0
End If
End If
i += 1
Next
arq += 1

Dim img As Image
Dim img2 As Bitmap

img = Image.FromFile(arquivo)
img2 = New Bitmap(img)
img.Dispose()

pct.SizeMode = PictureBoxSizeMode.StretchImage
pct.Width = 176
pct.Height = 121
pct.Name = [Ô]pctFOTO[Ô] & TfrmFotos.pnlLISTAFOTOS.Controls.Count + 1
pct.Image = img2
TfrmFotos.pnlLISTAFOTOS.Controls.Add(pct)
pct.Controls.Add(chk)
pct.Controls.Add(opt)
pct.Top = t
pct.Left = l
opt.Top = 0
opt.Left = 20
chk.Top = 0
chk.Left = 0
pct.Visible = True
opt.Visible = True
chk.Visible = True
chk.BackColor = Color.Transparent
opt.BackColor = Color.Transparent
chk.AutoSize = True
opt.AutoSize = True
chk.Text = String.Empty
opt.Text = String.Empty
arquivo = LocalFoto & [Ô]\[Ô] & Format(CLng(Codigo), [Ô]00000[Ô]) & Chr(arq + 65) & [Ô].jpg[Ô]
Loop
KURTGU 17/02/2016 22:49:17
#457812
Cara na boa voce criar um frm so pra mostrar um zoom da foto? Um dica crie um user control, ao inves de uma foto com uma picturebox adicione a lista de foto, procure sobre TOOLTIP Draw Image voce vai ter um efeito muito bom...
DS2T 17/02/2016 23:56:16
#457816
Use a instrução AddHandler para associar o evento do controle criado dinamicamente, com uma subrotina.
No código postado acima, do Foxman, já tem isso daí. Ele usa AddHandler no evento click do botão.

Citação:

AddHandler bt.Click, AddressOf Application.Exit [ô] Atribuo uma ação ao botão, que poderia ser uma chamada a qualquer método ou função.



Como ele falou, poderia ser uma subrotina. Exemplo:

AddHandler bt.Click, AddressOf MinhaSubRotina



Abraços!
KURTGU 18/02/2016 09:10:37
#457826
Da forma que eu falei fica assim...a foto maior esta meio apagada pois estava terminando o tempo do tooltip...
Faça seu login para responder