Herencia de formularios

09/07/2004 - 09:39 por Alfredo D | Informe spam
Otra duda
Tengo un form base (frmLista) que contiene un datagrid (grdLista) con
modifiers Protected Friend.
Si heredo este formulario con:

public class Form1
inherits frmLista
end class

efectivamente, me hereda toda la apariencia de frmLista, pero ahora me viene
la duda: yo quiero en Form1 añadir codigo para grdLista pero en el editor de
codigo en el combo de elementos del form no tengo acceso a nada salvo a
Form1,Reemplazos, Form1 Events

Me gustaria saber porque...

Preguntas similare

Leer las respuestas

#1 Sergiou
09/07/2004 - 10:39 | Informe spam
Al tener "Protected" como modificador de acceso al datagrid sólo desde
una clase que herede de este formulario puede acceder al datagrid.

Cambia el modificador a publico y podrás ver la diferencia.

Alfredo D wrote:

Otra duda
Tengo un form base (frmLista) que contiene un datagrid (grdLista) con
modifiers Protected Friend.
Si heredo este formulario con:

public class Form1
inherits frmLista
end class

efectivamente, me hereda toda la apariencia de frmLista, pero ahora me viene
la duda: yo quiero en Form1 añadir codigo para grdLista pero en el editor de
codigo en el combo de elementos del form no tengo acceso a nada salvo a
Form1,Reemplazos, Form1 Events

Me gustaria saber porque...


Respuesta Responder a este mensaje
#2 Alfredo D
09/07/2004 - 13:25 | Informe spam
Gracias por responder

Le he puesto el modificador a public pero nada de nada.. sigo igual, en el
editor de
codigo en el combo de elementos del form no tengo acceso a nada salvo a
Form1,Reemplazos, Form1 Events, no veo por ningun lado grdLista y por tanto
no me enseña sus eventos.


"Sergiou" escribió en el mensaje
news:%
Al tener "Protected" como modificador de acceso al datagrid sólo desde
una clase que herede de este formulario puede acceder al datagrid.

Cambia el modificador a publico y podrás ver la diferencia.

Alfredo D wrote:

> Otra duda
> Tengo un form base (frmLista) que contiene un datagrid (grdLista) con
> modifiers Protected Friend.
> Si heredo este formulario con:
>
> public class Form1
> inherits frmLista
> end class
>
> efectivamente, me hereda toda la apariencia de frmLista, pero ahora me


viene
> la duda: yo quiero en Form1 añadir codigo para grdLista pero en el


editor de
> codigo en el combo de elementos del form no tengo acceso a nada salvo a
> Form1,Reemplazos, Form1 Events
>
> Me gustaria saber porque...
>
>

Respuesta Responder a este mensaje
#3 Tristan
10/07/2004 - 11:17 | Informe spam
El problema es que la cláusula WithEvents solo funciona dentro de una clase.
Como esa clásula me parece un despropósito, te recomendaría definir los
eventos de la única forma que hubiese incluido en vb.net, mediante
AddHandler.

En el constructor del Form:
AddHandler TextBox1.Click, AddressOf TextBox1_Click

Y este sería el método del evento:

Sub TextBox1_Click(sender as Object, e as EventArgs)
end sub

Tal vez te resulte pesado, puesto que el IDE no ofrece ayuda para crear el
método (a diferencia de C#). En ese caso, puedes seguir usando WithEvents, a
condicion de reintroducir una nueva referencia WithEvents en la clase
heredada.

En el formulario heredado:

Shadows WithEvents TextBox1 As TextBox = MyBase.TextBox1

Lo mismo para cada uno de los controles para los que necesistes controlar
eventos, siempre que no quieras usar AddHandler.

No olvides, que no hay dos objetos, no se duplica nada (lo repito por que es
un error muy común)

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida