Librería de Clases

03/11/2004 - 19:40 por David Fúnez | Informe spam
Hola;

Tengo este inconveniente, ya tengo copiada mi librería de clases en el
ToolBox, tomo por ejemplo la Clase MiTexto y la agrego al Form, y el
resultado es lo siguiente:

- en la Region "código generado por el diseñador de windows form" me aparece
la clase agregada asi:

Friend MiTexto1 As MisClases.Class1.MiTexto

Pero debería ser asi:

Friend WithEvents MiTexto1 As MisClases.Class1.MiTexto

Manualmente le tengo que agregar el WithEvents para que esta clase funcione
con sus respectivos eventos.

- Pero, cada ves que hago un cambio en el form y lo recompilo, como es de
esperarse, me vuelve a aparecer asi la Clase agregada:

Friend MiTexto1 As MisClases.Class1.MiTexto

- Y ademas si he validado el MiTexto1, una ves recompilado le quita el
"Handles MiTexto1.validating"

No se si estoy haciendo algo mal

Uso VB.NET 2003 en Español.

Este es el código de la clase:

***********
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Font

Public Class Class1

#Region "MiBoton"
Public Class MiBoton
Inherits Button

Public Sub New()
MyBase.New()
Me.Font = New Font(Me.Font, FontStyle.Bold)
Text = "mi botón"
Width = 65
Height = 23
FlatStyle = FlatStyle.System
End Sub
End Class

#End Region

#Region "Mitexto"
Public Class MiTexto
Inherits TextBox
Public Sub New()
MyBase.New()
Text = ""
Width = 200
Enabled = True
BackColor = System.Drawing.SystemColors.ControlLight
End Sub

Public Sub EnterHandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.Enter
ForeColor = ForeColor.White
BackColor = BackColor.Blue
End Sub

Public Sub LeaveHandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.Leave
ForeColor = ForeColor.Black
BackColor = BackColor.White
End Sub

Public Sub disablehandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.EnabledChanged
Sender.backcolor = IIf(Sender.enabled, BackColor.White,
System.Drawing.SystemColors.ControlLight)
End Sub
End Class
#End Region

End Class

***********

Saludos y Gracias.

David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro

Preguntas similare

Leer las respuestas

#1 Guillermo guille
03/11/2004 - 21:22 | Informe spam
Pues sí, es curioso.
De todas formas, si la clase no está anidada en otra, funciona correctamente.
Realmente no veo el "porqué" de usarla de forma anidada.

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"David Fúnez" wrote in message
news:%
Hola;

Tengo este inconveniente, ya tengo copiada mi librería de clases en el
ToolBox, tomo por ejemplo la Clase MiTexto y la agrego al Form, y el
resultado es lo siguiente:

- en la Region "código generado por el diseñador de windows form" me aparece
la clase agregada asi:

Friend MiTexto1 As MisClases.Class1.MiTexto

Pero debería ser asi:

Friend WithEvents MiTexto1 As MisClases.Class1.MiTexto

Manualmente le tengo que agregar el WithEvents para que esta clase funcione
con sus respectivos eventos.

- Pero, cada ves que hago un cambio en el form y lo recompilo, como es de
esperarse, me vuelve a aparecer asi la Clase agregada:

Friend MiTexto1 As MisClases.Class1.MiTexto

- Y ademas si he validado el MiTexto1, una ves recompilado le quita el
"Handles MiTexto1.validating"

No se si estoy haciendo algo mal

Uso VB.NET 2003 en Español.

Este es el código de la clase:

***********
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Font

Public Class Class1

#Region "MiBoton"
Public Class MiBoton
Inherits Button

Public Sub New()
MyBase.New()
Me.Font = New Font(Me.Font, FontStyle.Bold)
Text = "mi botón"
Width = 65
Height = 23
FlatStyle = FlatStyle.System
End Sub
End Class

#End Region

#Region "Mitexto"
Public Class MiTexto
Inherits TextBox
Public Sub New()
MyBase.New()
Text = ""
Width = 200
Enabled = True
BackColor = System.Drawing.SystemColors.ControlLight
End Sub

Public Sub EnterHandler(ByVal Sender As Object, ByVal e As EventArgs)
Handles MyBase.Enter
ForeColor = ForeColor.White
BackColor = BackColor.Blue
End Sub

Public Sub LeaveHandler(ByVal Sender As Object, ByVal e As EventArgs)
Handles MyBase.Leave
ForeColor = ForeColor.Black
BackColor = BackColor.White
End Sub

Public Sub disablehandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.EnabledChanged
Sender.backcolor = IIf(Sender.enabled, BackColor.White,
System.Drawing.SystemColors.ControlLight)
End Sub
End Class
#End Region

End Class

***********

Saludos y Gracias.

David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro



Respuesta Responder a este mensaje
#2 David Fúnez
03/11/2004 - 22:12 | Informe spam
Me podrías explicar mejor lo que dices.

Saludos.

David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro


"Guillermo 'guille'" wrote in message
news:
Pues sí, es curioso.
De todas formas, si la clase no está anidada en otra, funciona
correctamente.
Realmente no veo el "porqué" de usarla de forma anidada.

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"David Fúnez" wrote in message
news:%
Hola;

Tengo este inconveniente, ya tengo copiada mi librería de clases en el
ToolBox, tomo por ejemplo la Clase MiTexto y la agrego al Form, y el
resultado es lo siguiente:

- en la Region "código generado por el diseñador de windows form" me
aparece la clase agregada asi:

Friend MiTexto1 As MisClases.Class1.MiTexto

Pero debería ser asi:

Friend WithEvents MiTexto1 As MisClases.Class1.MiTexto

Manualmente le tengo que agregar el WithEvents para que esta clase
funcione con sus respectivos eventos.

- Pero, cada ves que hago un cambio en el form y lo recompilo, como es de
esperarse, me vuelve a aparecer asi la Clase agregada:

Friend MiTexto1 As MisClases.Class1.MiTexto

- Y ademas si he validado el MiTexto1, una ves recompilado le quita el
"Handles MiTexto1.validating"

No se si estoy haciendo algo mal

Uso VB.NET 2003 en Español.

Este es el código de la clase:

***********
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Font

Public Class Class1

#Region "MiBoton"
Public Class MiBoton
Inherits Button

Public Sub New()
MyBase.New()
Me.Font = New Font(Me.Font, FontStyle.Bold)
Text = "mi botón"
Width = 65
Height = 23
FlatStyle = FlatStyle.System
End Sub
End Class

#End Region

#Region "Mitexto"
Public Class MiTexto
Inherits TextBox
Public Sub New()
MyBase.New()
Text = ""
Width = 200
Enabled = True
BackColor = System.Drawing.SystemColors.ControlLight
End Sub

Public Sub EnterHandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.Enter
ForeColor = ForeColor.White
BackColor = BackColor.Blue
End Sub

Public Sub LeaveHandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.Leave
ForeColor = ForeColor.Black
BackColor = BackColor.White
End Sub

Public Sub disablehandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.EnabledChanged
Sender.backcolor = IIf(Sender.enabled, BackColor.White,
System.Drawing.SystemColors.ControlLight)
End Sub
End Class
#End Region

End Class

***********

Saludos y Gracias.

David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro







Respuesta Responder a este mensaje
#3 David Fúnez
03/11/2004 - 22:19 | Informe spam
Perdón;

ya se a lo que te refieres:

Public Class Class1
Public Class MiBoton

EndClass

Tienes razón.. :) como diría Chespirito "Se me Chispotio".


David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro


"David Fúnez" wrote in message
news:
Me podrías explicar mejor lo que dices.

Saludos.

David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro


"Guillermo 'guille'" wrote in message
news:
Pues sí, es curioso.
De todas formas, si la clase no está anidada en otra, funciona
correctamente.
Realmente no veo el "porqué" de usarla de forma anidada.

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"David Fúnez" wrote in message
news:%
Hola;

Tengo este inconveniente, ya tengo copiada mi librería de clases en el
ToolBox, tomo por ejemplo la Clase MiTexto y la agrego al Form, y el
resultado es lo siguiente:

- en la Region "código generado por el diseñador de windows form" me
aparece la clase agregada asi:

Friend MiTexto1 As MisClases.Class1.MiTexto

Pero debería ser asi:

Friend WithEvents MiTexto1 As MisClases.Class1.MiTexto

Manualmente le tengo que agregar el WithEvents para que esta clase
funcione con sus respectivos eventos.

- Pero, cada ves que hago un cambio en el form y lo recompilo, como es
de esperarse, me vuelve a aparecer asi la Clase agregada:

Friend MiTexto1 As MisClases.Class1.MiTexto

- Y ademas si he validado el MiTexto1, una ves recompilado le quita el
"Handles MiTexto1.validating"

No se si estoy haciendo algo mal

Uso VB.NET 2003 en Español.

Este es el código de la clase:

***********
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Font

Public Class Class1

#Region "MiBoton"
Public Class MiBoton
Inherits Button

Public Sub New()
MyBase.New()
Me.Font = New Font(Me.Font, FontStyle.Bold)
Text = "mi botón"
Width = 65
Height = 23
FlatStyle = FlatStyle.System
End Sub
End Class

#End Region

#Region "Mitexto"
Public Class MiTexto
Inherits TextBox
Public Sub New()
MyBase.New()
Text = ""
Width = 200
Enabled = True
BackColor = System.Drawing.SystemColors.ControlLight
End Sub

Public Sub EnterHandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.Enter
ForeColor = ForeColor.White
BackColor = BackColor.Blue
End Sub

Public Sub LeaveHandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.Leave
ForeColor = ForeColor.Black
BackColor = BackColor.White
End Sub

Public Sub disablehandler(ByVal Sender As Object, ByVal e As
EventArgs) Handles MyBase.EnabledChanged
Sender.backcolor = IIf(Sender.enabled, BackColor.White,
System.Drawing.SystemColors.ControlLight)
End Sub
End Class
#End Region

End Class

***********

Saludos y Gracias.

David Fúnez
Tegucigalpa, Honduras

"La Piratería Mata Las Ideas"
Desarrollador Cinco Estrellas Visual FoxPro











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