Array de controles

04/04/2005 - 18:48 por manolo | Informe spam
Hola,

¿Como ppuedo crear un array de controles en .net cf e interceptar sus
eventos?

En una aplicación winforms he conseguido saber hacerlo, pero en .net cf
la propiedad name de muchos controles no existe en tiempo de ejecución.

Gracias y un saludo.

Preguntas similare

Leer las respuestas

#1 José Miguel Torres
05/04/2005 - 11:55 | Informe spam
Buenas, échale un vistazo aqui
http://groups-beta.google.com/group...ork.compac
tframework/browse_thread/thread/356df3eb96199161/a0d4cdf6b66cab5e?q=control+
arrays+name+property&rnum=1#a0d4cdf6b66cab5e

saludos


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com

"manolo" escribió en el mensaje
news:#
Mostrar la cita
cf
Mostrar la cita
#2 manolo
05/04/2005 - 13:49 | Informe spam
Hola José Miguel,

He leido el hilo y tengo un código más o menos parecido, puedo controlar
un evento hacia donde se mandan todos los eventos de click de cada botón,
pero no hay forma de saber de que botón se manda el evento.
Aquí pongo el código:

Private Sub CrearBotones(ByVal cols As Collection, ByVal Izquierda As
Integer, ByVal Arriba As Integer, Optional ByVal Ancho As Integer = 4,
Optional ByVal Alto As Integer = 4)

ReDim btnArticulos(cols.Count - 1)' as button

btnArticulos(0) = btn_0 ' botón base

For Each col As Articulos In cols

Dim I As Integer

Dim X As Integer

Dim Y As Integer

X += 1

If I > 0 Then

btnArticulos(I) = New Button

btnArticulos(I).Size = btnArticulos(0).Size

'btnArticulos(I).name = "btn_" & I.ToString

End If

If X > Ancho Then X = 1 : Y += 1

btnArticulos(I).Left = Izquierda + (X * btnArticulos(I).Width) -
btnArticulos(I).Width

btnArticulos(I).Top = Arriba + (Y * btnArticulos(I).Height) -
btnArticulos(I).Height

If I > 0 Then Me.Controls.Add(btnArticulos(I))

btnArticulos(I).Text = col.Descripcion

AddHandler btnArticulos(I).Click, AddressOf btn_0_Click

I += 1

Next

End Sub


Como verás, mando el evento click al handler del evento click del botón
btn_0_click, cuando pulso cualquier botón, entra al evento pero no consigo
saber de que botón viene.

Gracias y un saludo.

"José Miguel Torres" <jtorres_diaz~~ARROBA~~terra.es> escribió en el mensaje
news:%
Mostrar la cita
#3 manolo
05/04/2005 - 13:57 | Informe spam
Hola de nuevo!

Acabo de averiguar como saber de que control viene el click!

Private Sub btn_0_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles btn_0.Click

Dim BTN As Button = sender

BTN.Text = ""

End Sub


De esta forma al menos se interactuar sobre el botón pulsado, ahora me
falta buscar alguna propiedad donde pueda guardar una identificación para el
botón, ya que no existe ni la propiedad tag ni la propiedad name.

Un saludo.

"manolo" escribió en el mensaje
news:
Mostrar la cita
#4 José Miguel Torres
05/04/2005 - 15:11 | Informe spam
Buena manera! te envio otra, aunque quizás te lie. En .NET Framework se
utiliza la propiedad Tag, en .NET CF no existe así que se utilizar:
(int)MyControl.Tag por ((IList)MyControlArray).Index­Of(MyControl),

pero si como lo has echo funciona, excelente!

saludos


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com


"manolo" escribió en el mensaje
news:#
Mostrar la cita
System.EventArgs)
Mostrar la cita
el
Mostrar la cita
botón
Mostrar la cita
consigo
Mostrar la cita
http://groups-beta.google.com/group...ork.compac
Mostrar la cita
tframework/browse_thread/thread/356df3eb96199161/a0d4cdf6b66cab5e?q=control+
Mostrar la cita
.net
Mostrar la cita
ejecución.
Mostrar la cita
#5 José Miguel Torres
05/04/2005 - 15:36 | Informe spam
No, no, la propiedad tag está presente en .NET Framework no en .NET COmpact
Framework, creo que te he liado, tu solución es muy válida, sólo que te he
adjuntado lo de la propiedad tag por si te habías encontrado con ese
problema. nada más, saludos


José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com

"manolo" escribió en el mensaje
news:
Mostrar la cita
una
Mostrar la cita
button,
Mostrar la cita
mensaje
Mostrar la cita
para
Mostrar la cita
de
Mostrar la cita
evento.
Mostrar la cita
http://groups-beta.google.com/group...ork.compac
Mostrar la cita
tframework/browse_thread/thread/356df3eb96199161/a0d4cdf6b66cab5e?q=control+
Mostrar la cita
interceptar
Mostrar la cita
Ads by Google
Search Busqueda sugerida