Foros del Web » Programación para mayores de 30 ;) » .NET »

Añadir evento a userControl

Estas en el tema de Añadir evento a userControl en el foro de .NET en Foros del Web. Hola, a ver si me pueden ayudar: Diseñe un user control y cargo cierta cantidad de ellos en tiempo de ejecucion. Hasta ahi todo bien. ...
  #1 (permalink)  
Antiguo 06/01/2010, 16:34
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Añadir evento a userControl

Hola, a ver si me pueden ayudar:

Diseñe un user control y cargo cierta cantidad de ellos en tiempo de ejecucion. Hasta ahi todo bien. Pero ahora necesito ponerle un menu contextual y no logro añadirle el evento.

defino el array de controles de esta forma:

Public ctlDireccion(40) As ControlDisp.controlDir

For i = 1 To dtDireccion.Rows.Count
ctlDireccion(i) = New ControlDisp.controlDir()
ctlDireccion(i).Name = "ctl" & i
ctlDireccion(i).Tag = dtDireccion(i - 1)("DireccionId")
ctlDireccion(i).Direccion = dtDireccion(i - 1)("Direccion")
.....
ctlDireccion(i).Location = New Point(((i - 1) * 120) + 20, 40)
Me.Controls.Add(ctlDireccion(i))
Next

Luego le añado el evento:
Private Sub ctlDireccion_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ctlDireccion.MouseUp

y me da el error (Handles clause requires a WithEvents variable defined in the containing type or one of its base types). Segun lo que encontre, ese error se soluciona con una definicion asi:

Dim WithEvents ctlDireccion As New ControlDisp.controlDir

Pero aqui esta el problema, yo realmente necesito que la definicion sea para el array quedando de la siguiente forma:

Dim WithEvents ctlDireccion() As New ControlDisp.controlDir

pero eso no eso no se puede. Puede alguien decirme como puedo solucionar este problema. Necesito poderle un menu contextual a ese array de controles y saber cual fue el control que genero el evento.

Saludos
  #2 (permalink)  
Antiguo 04/02/2010, 14:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Añadir evento a userControl

Ya lo solucione. bien sencillo. al cargar lso controles.

AddHandler ctlDireccion(i).MouseUp, AddressOf ButtonClickEventProc


Public Sub ButtonClickEventProc(ByVal sender As Object, ByVal e As EventArgs)

MsgBox("Yoel")
End Sub

Aunque yo lo que realmenet queria era ponerle un menu contextual y para eso basta con utilizar la propiedad

ctlDireccion(i).ContextMenuStrip = mnuDireccion, pero claro, luego me di cuenta que necesitaba el evento para saber sobre que control se utilizaba el menu.

Etiquetas: añadir, usercontrol, eventos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.