Pregunta sobre creacion de controles

06/04/2005 - 19:29 por Carlos Gómez | Informe spam
Me he creado el típico control que hereda de textbox, el cual tiene una
funcionalidad añadida, además de variar su comportamiento dependiendo del
tipo de dato esperado (moneda, fecha, texto, numero...)
Ahora bien, cuando agrego el control a un formulario, el valor de la
propiedad text es "MiTextBox1", luego "MiTextBox2"...,
¿Como se puede modificar estos valores que agrega .NET, de forma que se
pueda poner un valor (concretamente la cadena vacia) por defecto?
y en general, como se pueden modificar los valores de los atributos que
heredan: Text, BackColor, Multiline...

Preguntas similare

Leer las respuestas

#1 ajpb
06/04/2005 - 20:43 | Informe spam
Puedes crear un proceimiento Init() en la clase heredada, alli inicializas
todas las propiedades: me.text = "", me.backcolor = color.white, etc. Luego
llamas el procedimiento sobreescribiendo el New()

Sub New()

init()

End Sub

Saludos

"Carlos Gómez" wrote:

Me he creado el típico control que hereda de textbox, el cual tiene una
funcionalidad añadida, además de variar su comportamiento dependiendo del
tipo de dato esperado (moneda, fecha, texto, numero...)
Ahora bien, cuando agrego el control a un formulario, el valor de la
propiedad text es "MiTextBox1", luego "MiTextBox2"...,
¿Como se puede modificar estos valores que agrega .NET, de forma que se
pueda poner un valor (concretamente la cadena vacia) por defecto?
y en general, como se pueden modificar los valores de los atributos que
heredan: Text, BackColor, Multiline...



Respuesta Responder a este mensaje
#2 Carlos Gómez
06/04/2005 - 21:49 | Informe spam
pues no funciona.
Tengo esto:

Imports System.ComponentModel
Public Class ElControl
Inherits System.Windows.Forms.TextBox
Private TablaAux As String = ""
Private CampoAux As String = ""

<Description("Nombre de la Tabla"), Category("BBDD")> Public Property
Tabla() As String
Get
Return TablaAux
End Get
Set(ByVal Value As String)
TablaAux = Value
End Set
End Property

<Description("Nombre del Campo"), Category("BBDD")> Public Property
Campo() As String
Get
Return CampoAux
End Get
Set(ByVal Value As String)
CampoAux = Value
End Set
End Property

Sub New()
init()
End Sub

Private Sub init()
Me.Text = ""
End Sub

End Class

Pero cuando arrastro el control creado al formulario, me sigue apareciendo
con el valor de la propiedad Text: "ElControl1"...



"ajpb" escribió en el mensaje
news:
Puedes crear un proceimiento Init() en la clase heredada, alli inicializas
todas las propiedades: me.text = "", me.backcolor = color.white, etc.
Luego
llamas el procedimiento sobreescribiendo el New()

Sub New()

init()

End Sub

Saludos

"Carlos Gómez" wrote:

Me he creado el típico control que hereda de textbox, el cual tiene una
funcionalidad añadida, además de variar su comportamiento dependiendo del
tipo de dato esperado (moneda, fecha, texto, numero...)
Ahora bien, cuando agrego el control a un formulario, el valor de la
propiedad text es "MiTextBox1", luego "MiTextBox2"...,
¿Como se puede modificar estos valores que agrega .NET, de forma que se
pueda poner un valor (concretamente la cadena vacia) por defecto?
y en general, como se pueden modificar los valores de los atributos que
heredan: Text, BackColor, Multiline...



Respuesta Responder a este mensaje
#3 ajpb
06/04/2005 - 23:09 | Informe spam
en el evento HandleCreated del control haz esto:

if me.DesignMode then

'Aqui seteas las propiedades

end if

"Carlos Gómez" wrote:

pues no funciona.
Tengo esto:

Imports System.ComponentModel
Public Class ElControl
Inherits System.Windows.Forms.TextBox
Private TablaAux As String = ""
Private CampoAux As String = ""

<Description("Nombre de la Tabla"), Category("BBDD")> Public Property
Tabla() As String
Get
Return TablaAux
End Get
Set(ByVal Value As String)
TablaAux = Value
End Set
End Property

<Description("Nombre del Campo"), Category("BBDD")> Public Property
Campo() As String
Get
Return CampoAux
End Get
Set(ByVal Value As String)
CampoAux = Value
End Set
End Property

Sub New()
init()
End Sub

Private Sub init()
Me.Text = ""
End Sub

End Class

Pero cuando arrastro el control creado al formulario, me sigue apareciendo
con el valor de la propiedad Text: "ElControl1"...



"ajpb" escribió en el mensaje
news:
> Puedes crear un proceimiento Init() en la clase heredada, alli inicializas
> todas las propiedades: me.text = "", me.backcolor = color.white, etc.
> Luego
> llamas el procedimiento sobreescribiendo el New()
>
> Sub New()
>
> init()
>
> End Sub
>
> Saludos
>
> "Carlos Gómez" wrote:
>
>> Me he creado el típico control que hereda de textbox, el cual tiene una
>> funcionalidad añadida, además de variar su comportamiento dependiendo del
>> tipo de dato esperado (moneda, fecha, texto, numero...)
>> Ahora bien, cuando agrego el control a un formulario, el valor de la
>> propiedad text es "MiTextBox1", luego "MiTextBox2"...,
>> ¿Como se puede modificar estos valores que agrega .NET, de forma que se
>> pueda poner un valor (concretamente la cadena vacia) por defecto?
>> y en general, como se pueden modificar los valores de los atributos que
>> heredan: Text, BackColor, Multiline...
>>
>>
>>



Respuesta Responder a este mensaje
#4 ajpb
06/04/2005 - 23:13 | Informe spam
o sobreescribe la propiedad

Public Overrides Property Text() as String

...
...
...


HandleCreated

"Carlos Gómez" wrote:

pues no funciona.
Tengo esto:

Imports System.ComponentModel
Public Class ElControl
Inherits System.Windows.Forms.TextBox
Private TablaAux As String = ""
Private CampoAux As String = ""

<Description("Nombre de la Tabla"), Category("BBDD")> Public Property
Tabla() As String
Get
Return TablaAux
End Get
Set(ByVal Value As String)
TablaAux = Value
End Set
End Property

<Description("Nombre del Campo"), Category("BBDD")> Public Property
Campo() As String
Get
Return CampoAux
End Get
Set(ByVal Value As String)
CampoAux = Value
End Set
End Property

Sub New()
init()
End Sub

Private Sub init()
Me.Text = ""
End Sub

End Class

Pero cuando arrastro el control creado al formulario, me sigue apareciendo
con el valor de la propiedad Text: "ElControl1"...



"ajpb" escribió en el mensaje
news:
> Puedes crear un proceimiento Init() en la clase heredada, alli inicializas
> todas las propiedades: me.text = "", me.backcolor = color.white, etc.
> Luego
> llamas el procedimiento sobreescribiendo el New()
>
> Sub New()
>
> init()
>
> End Sub
>
> Saludos
>
> "Carlos Gómez" wrote:
>
>> Me he creado el típico control que hereda de textbox, el cual tiene una
>> funcionalidad añadida, además de variar su comportamiento dependiendo del
>> tipo de dato esperado (moneda, fecha, texto, numero...)
>> Ahora bien, cuando agrego el control a un formulario, el valor de la
>> propiedad text es "MiTextBox1", luego "MiTextBox2"...,
>> ¿Como se puede modificar estos valores que agrega .NET, de forma que se
>> pueda poner un valor (concretamente la cadena vacia) por defecto?
>> y en general, como se pueden modificar los valores de los atributos que
>> heredan: Text, BackColor, Multiline...
>>
>>
>>



Respuesta Responder a este mensaje
#5 Carlos Gómez
07/04/2005 - 09:40 | Informe spam
Ahora si funcionó.

Muchisimas Gracias

"ajpb" escribió en el mensaje
news:
en el evento HandleCreated del control haz esto:

if me.DesignMode then

'Aqui seteas las propiedades

end if

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