Nous avons souvent besoin d'afficher un paragraphe de texte explicatif sur une ligne, et en raison de l'incertitude quant à la largeur de la page Web, lorsque nous ajustons arbitrairement sa largeur, le texte s'étend souvent hors de la page ou se divise en plusieurs lignes. En utilisant CSS, nous pouvons limiter la largeur à une ligne et masquer les caractères supplémentaires. Pour plus de commodité, il est transformé en un petit contrôle Web à utiliser.
utiliser le système ;
en utilisant System.Web.UI ;
en utilisant System.Web.UI.WebControls ;
en utilisant System.ComponentModel,
espace de noms cnblogs.birdshome.WebControls ;
{
/**//// <résumé>
/// Description récapitulative d'AutoLabel.
/// </summary>
[Propriété par défaut("Texte"),
ToolboxData("<{0}:AutoLabel runat=server></{0}:AutoLabel>")]
classe publique AutoLabel : System.Web.UI.WebControls.Label
{
remplacement protégé void CreateChildControls()
{
base.CreateChildControls();
this.Width = Unit.Pourcentage (100);
this.Attributes["onmouseover"] =
"if ( this.clientWidth < this.scrollWidth ) this.title = this.innerText; sinon this.title = '';";
this.Attributes.CssStyle["white-space"] = "nowrap";
this.Attributes.CssStyle["overflow"] = "caché";
this.Attributes.CssStyle["text-overflow"] = "points de suspension";
}
}
}
AutoLabel est hérité du contrôle Label et la largeur par défaut est « 100 % ». Lorsque AutoLabel est placé dans un élément de classe conteneur, la largeur de son contenu est automatiquement ajustée en fonction de la taille du conteneur. Et lorsque le signe "..." apparaît sur l'AutoLabel et que la souris est placée dessus, son ToolTip affichera automatiquement le contenu complet. Comme indiqué ci-dessous :