sábado, mayo 12, 2007

LABEL MULTILINEA

Vamos a crear un web control, que sera un label multilinea con scrollBar

Este control es practico cuando necesitamos un campo de tipo lectura y disponemos de poco espacio para mostrar la información.

Vamos a crear un nuevo Proyecto de tipo Class Library.

Lo importante son las Librerias que importamos y como lo declaramos.
A continuación el codigo.


Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Public Class MultiLineLabel
Inherits CompositeControl
#Region "Variables"
Private lblcontent As Label
#End Region
#Region "Propiedades"
Public Property Text() As String
Get
EnsureChildControls()
Return lblcontent.Text
End Get
Set(ByVal value As String)
EnsureChildControls()
lblcontent.Text = value
End Set
End Property
Public Overloads Property Height() As String
Get
EnsureChildControls()
Return lblcontent.Height.ToString
End Get
Set(ByVal
value As String)
EnsureChildControls()
lblcontent.Height = Unit.Parse(value)
End Set
End Property
Protected Overrides ReadOnly Property
TagKey() As System.Web.UI.HtmlTextWriterTag
Get
Return
HtmlTextWriterTag.Div
End Get
End Property
#End Region
#Region
"Crear control"
Protected Overrides Sub CreateChildControls()
lblcontent = New Label
lblcontent.ID = Me.ID & "Lab"
Me.Controls.Add(lblcontent)
End Sub
#End Region
#Region
"Render Tags"
Protected Overrides Sub RenderContents(ByVal writer As System.Web.UI.HtmlTextWriter)
writer.AddStyleAttribute("overflow", "auto")
writer.RenderBeginTag(HtmlTextWriterTag.Div)
lblcontent.RenderControl(writer)
writer.RenderEndTag() 'DIV
End Sub
#End Region
End Class