POR FAVOR! biblioteca de clases

21/06/2006 - 12:34 por Hugo Gsell | Informe spam
Hola. Voy a ser un poco largo... pero creo es necesario.
El objetivo es crear una clase "generica" para crear pantallas de abm de
datos sin acceso a base ni nada
Es decir, un formulario con bonotes nuevo, modificar, grabar, imprimir,
buscar y salir... con sus iconos (imagenes) y comportamientos es decir, por
ej. si hago clic en nuevo que se deshabilite buscar... si estoy modificacndo
no puedo hacer nuevo.. y cosas de ese tipo o sea todo ese manejo es el
que deseo poder heredar a otros objetos.. con 2 o 3 procedimientos
reescribibles (mustoverride) que serian buscar, mostrar registro, y grabar
registro...
Hasta acá mas o menos el objetivo del formulario

Paso a explicar lo que hice:
*inicialmente cree un proyecto aplicacion windows.
*Cree un formulario llamado ABM cree la barra toolstrip (con sus botones
nuevo, grabar, etc) con sus iconos (imagenes)
*Luego programé el comportamiento de los botones y cree los procedimientos
(mustoverride) buscar, mostrar y grabar.

luego cree una clase llamada CLASS1 que heredó de mi clase base es
decir, el codigo del modulo de queda como en CODIGO1 (ver mas abajo) y
donde agrego el método new (para probar) y esta sobreescrito el
procedimiento
Ahora buenísimo... cuando hago doble clic en la clase class1, aparece el
formulario "clonado".
Luego, para probar cree otro formulario con un boton... donde en el evento
clic hace

Dim k As New Class1

y boilá... aparece el formulario CLONADO hasta acá de 10. Ahora quise
crear una biblioteca de clases, para poder crear una dll y utilizar esta
última.
creo el proyecto y en el codigo del formulario me subraya
Partial MustInherit Class ABM
Inherits System.Windows.Forms.Form

me subraya el SYSTEM.WINDOWS.FORMS.FORM diciendo que la misma NO ESTA
INCLUIDA

¿PORQUE ES ESTO? ¿COMO PUEDO SOLUCIONARLO?
Desde ya muchas gracias.

Hugo A. Gsell
Sgo del Estero
Argentina

CODIGO1:
Public Class Class1
Inherits ABM
Sub New()
Me.Show()
End Sub
Private Sub InitializeComponent()
Me.SuspendLayout()
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.ClientSize = New System.Drawing.Size(423, 297)
Me.Name = "Class1"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Public Overrides Sub MuestraRegistro()
'aca va el código de muestra regiostro Modificado (reescrito)
End Sub
End Class
 

Leer las respuestas

#1 Diego Cofré
21/06/2006 - 16:56 | Informe spam
Hugo:
Tienes que agregar una referencia a System.Windows.Forms, que es una
biblioteca nativa de .Net. Lo que sucede es que en proyectos Windows esa
referencia se agrega automáticamente, en cambio en los de tipo "Biblioteca
de clases" si la necesitas la tienes que agregar explícitamente.

Saludos
Lic. Diego Cofré
Desarrollador
EWAVE GROUP S.A
www.e-wavegroup.com

Preguntas similares