A menudo necesitamos mostrar un párrafo de texto explicativo en una línea y, debido a la incertidumbre del ancho de la página web, cuando ajustamos su ancho arbitrariamente, el texto a menudo se extiende fuera de la página o se divide en varias líneas. Al usar CSS podemos limitar el ancho a una línea y ocultar los caracteres adicionales. Para mayor comodidad, se ha convertido en un pequeño control web para su uso.
usando Sistema;
utilizando System.Web.UI;
usando System.Web.UI.WebControls;
usando
el espacio de nombres System.ComponentModel cnblogs.birdshome.WebControls
;
{
/**//// <resumen>
/// Descripción resumida de AutoLabel.
/// </summary>
[Propiedad predeterminada ("Texto"),
ToolboxData("<{0}:AutoLabel runat=servidor></{0}:AutoLabel>")]
AutoLabel de clase pública: System.Web.UI.WebControls.Label
{
anulación protegida anulación CreateChildControls()
{
base.CreateChildControls();
this.Ancho = Unidad.Porcentaje(100);
this.Attributes["onmouseover"] =
"si (this.clientWidth < this.scrollWidth) this.title = this.innerText; else this.title = '';";
this.Attributes.CssStyle["espacio en blanco"] = "nowrap";
this.Attributes.CssStyle["overflow"] = "oculto";
this.Attributes.CssStyle["text-overflow"] = "elipsis";
}
}
}
AutoLabel se hereda del control Label y el ancho predeterminado es "100%". Cuando AutoLabel se coloca en un elemento de clase contenedor, el ancho de su contenido se ajusta automáticamente según el tamaño del contenedor. Y cuando aparece el signo "..." en la etiqueta automática y se coloca el mouse sobre él, su información sobre herramientas mostrará automáticamente el contenido completo. Como se muestra a continuación: