Freqüentemente, precisamos exibir um parágrafo de texto explicativo em uma linha e, devido à incerteza da largura da página da Web, quando ajustamos sua largura arbitrariamente, o texto geralmente se estende para fora da página ou se divide em várias linhas. Usando CSS podemos limitar a largura a uma linha e ocultar os caracteres extras. Por conveniência, ele é transformado em um pequeno controle da Web para uso.
usando o sistema;
usando System.Web.UI;
usando System.Web.UI.WebControls;
usando
o namespace System.ComponentModel cnblogs.birdshome.WebControls
;
{
/**//// <resumo>
/// Descrição resumida do AutoLabel.
/// </sumário>
[DefaultProperty("Texto"),
ToolboxData("<{0}:AutoLabel runat=server></{0}:AutoLabel>")]
classe pública AutoLabel: System.Web.UI.WebControls.Label
{
substituição protegida nula CreateChildControls()
{
base.CreateChildControls();
this.Width = Unit.Percentage(100);
this.Attributes["onmouseover"] =
"if (this.clientWidth < this.scrollWidth ) this.title = this.innerText; else this.title = '';";
this.Attributes.CssStyle["espaço em branco"] = "nowrap";
this.Attributes.CssStyle["overflow"] = "oculto";
this.Attributes.CssStyle["text-overflow"] = "reticências";
}
}
}
AutoLabel é herdado do controle Label e a largura padrão é "100%". Quando AutoLabel é colocado em um elemento de classe contêiner, a largura de seu conteúdo é ajustada automaticamente pelo tamanho do contêiner. E quando o sinal "..." aparecer no AutoLabel, e o mouse for colocado sobre ele, sua dica de ferramenta exibirá automaticamente o conteúdo completo. Conforme mostrado abaixo: