Visual Basic.NET - sobreescribir un evento

 
Vista:

sobreescribir un evento

Publicado por Rober (1 intervención) el 29/04/2006 13:00:55
Hola,

Necesito crear un control heredado del control TextBox y sobreescribir el evento KeyDown.

¿Es posible? ¿Como se puede hacer?

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sobreescribir un evento

Publicado por christian (174 intervenciones) el 02/05/2006 14:31:07
Este ejemplo hace lo mismo con el control label, solo cambia la primer instancia.

Private Sub CrearControl(ByVal Nombre As String)
'Variable de mi nuevo objeto
Dim MyNewObject As New System.Windows.Forms.Label
Dim Formularios As formulario
Formularios = Me.ActiveMdiChild

'Levanto el tipo del nuevo objeto
Dim MyTipo As System.Type = MyNewObject.GetType

'Con el nombre del tipo y el contador le doy un nombre unico
MyNewObject.Name = MyTipo.Name & Convert.ToString(iContador)

'En la propiedad Text le pongo el nombre del nuevo control
MyNewObject.Text = MyNewObject.Name

'Ubico el nuevo control segun indicado
MyNewObject.Location = New System.Drawing.Point(1, 1)
MyNewObject.Width = 10

'Le agrego evento a mi nuevo control
AddHandler MyNewObject.DoubleClick, AddressOf DblClickEvent
AddHandler MyNewObject.MouseUp, AddressOf DragAction

'Agrego el control al contenedor
Formularios.Controls.Add(MyNewObject)

'Asigno Valor del Texto
MyNewObject.Text = Nombre
MyNewObject.BackColor = Color.LightGray
MyNewObject.AutoSize = True

'Creo el Control en la clase
Dim ClaseControl As New clsObjetos
ClaseControl.Nombre(iContador) = MyNewObject.Name.ToString

'Agrego 1 al contador
iContador += 1
End Sub

Private Sub DblClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs)
'A modo de ejemplo muestro un messagebox con el nombre de control que lo llamó
FontDialog1.ShowColor = True
Dim Etiqueta As New Label
Etiqueta = sender
FontDialog1.Font = Etiqueta.Font
FontDialog1.Color = Etiqueta.ForeColor

If FontDialog1.ShowDialog() <> DialogResult.Cancel Then
Etiqueta.Font = FontDialog1.Font
Etiqueta.ForeColor = FontDialog1.Color
End If

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar