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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Carlos Gómez
21/06/2006 - 16:59 | Informe spam
Hugo Gsell wrote:
...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?



Las bibliotecas de clases no incluyen referencias a System.Windows.Forms ni
a System.Windows.Drawing (los proyectos de formularios para windows SI los
incluyen)

Para solucionar esto, en el explorador de soluciones, haz click en el
proyecto de la biblioteca de clases y en Referencias, Agregar referencia.
Ahora busca ambas y ya esta.

Desde Aguadulce - España
Carlos Gomez
Respuesta Responder a este mensaje
#3 Hugo Gsell
21/06/2006 - 17:54 | Informe spam
bien... GRACIAS... inicialmente funciona...
agregue en las referencias SYSTEM.DRAWING y SYSTEM.WINDOWS.FORMS

ahora el problema es con elementos como CONTROL o TEXTBOX que ambos
deberia... ya que en algunas partes de codigo hago cosas como

Dim Ctrl As Control
For i = 0 To Me.Controls.Count - 1
Ctrl = Me.Controls(i)
If TypeOf Ctrl Is TextBox Then
CType(Ctrl, TextBox).Text = ""
End If
Next i

y me da error en CONTROL y TEXT BOX... si funciona si le pongo
System.Windows.Forms.Control y
System.Windows.Forms.TextBox segun corresponda supongo que esto deberia
poder evitarse... y supongo que tiene
que ver con los namespace pero no se como solucionarlo.

Hugo A. Gsell
Sgo del Estero
Argentina



"Diego Cofré" escribió en el mensaje
news:
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


Respuesta Responder a este mensaje
#4 Hugo Gsell
21/06/2006 - 17:55 | Informe spam
bien... GRACIAS... inicialmente funciona...
agregue en las referencias SYSTEM.DRAWING y SYSTEM.WINDOWS.FORMS

ahora el problema es con elementos como CONTROL o TEXTBOX que ambos
deberia... ya que en algunas partes de codigo hago cosas como

Dim Ctrl As Control
For i = 0 To Me.Controls.Count - 1
Ctrl = Me.Controls(i)
If TypeOf Ctrl Is TextBox Then
CType(Ctrl, TextBox).Text = ""
End If
Next i

y me da error en CONTROL y TEXT BOX... si funciona si le pongo
System.Windows.Forms.Control y
System.Windows.Forms.TextBox segun corresponda supongo que esto deberia
poder evitarse... y supongo que tiene
que ver con los namespace pero no se como solucionarlo.

Hugo A. Gsell
Sgo del Estero
Argentina

"Carlos Gómez" escribió en el mensaje
news:
Hugo Gsell wrote:
...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?



Las bibliotecas de clases no incluyen referencias a System.Windows.Forms
ni
a System.Windows.Drawing (los proyectos de formularios para windows SI los
incluyen)

Para solucionar esto, en el explorador de soluciones, haz click en el
proyecto de la biblioteca de clases y en Referencias, Agregar referencia.
Ahora busca ambas y ya esta.

Desde Aguadulce - España
Carlos Gomez
Respuesta Responder a este mensaje
#5 Eduardo A. Morcillo [MS MVP VB]
21/06/2006 - 18:34 | Informe spam
Te falta un Imports System.Windows.Forms, el cual puede ponerlo en el
archivo mismo o en las propiedades del proyecto.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida