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

#6 manolo
05/04/2005 - 15:40 | Informe spam
Hola Miguel,

No entiendo esa forma de hacerlo que me has dicho. ¿Podría añadirle una
propiedad tag yo a mano? Es decir, al declarar dim btnArticulos() as button,
adjuntarle una propiedad tag a cada elemento.
Y si se pudiese, ¿al hacer dim btn as button = sender, ¿se pasaría esa
propiedad?

O mejor aún... ¿podría hacer un control personalizado haciendo inerits
system.windows.winforms.button y añadiéndole
una propiedad más?

Gracias y un saludo!

"José Miguel Torres" <jtorres_diaz~~ARROBA~~terra.es> escribió en el mensaje
news:
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:#
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:
> 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:%
>> 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:#
>>> 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.
>>>
>>>
>>
>>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida