Нам часто необходимо отобразить абзац пояснительного текста в строке, и из-за неопределенности ширины веб-страницы, когда мы произвольно регулируем ее ширину, текст часто вытягивается за пределы страницы или разбивается на несколько строк. Используя CSS, мы можем ограничить ширину одной строкой и скрыть лишние символы. Для удобства он преобразован в небольшой веб-элемент управления.
использование системы;
использование System.Web.UI;
использование System.Web.UI.WebControls;
использование пространства имен System.ComponentModel
cnblogs.birdshome.WebControls
;
{
/**//// <сводка>
/// Краткое описание AutoLabel.
/// </сводка>
[DefaultProperty("Текст"),
ToolboxData("<{0}:AutoLabel runat=server></{0}:AutoLabel>")]
общедоступный класс AutoLabel: System.Web.UI.WebControls.Label
{
защищенное переопределение void 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["white-space"] = "nowrap";
this.Attributes.CssStyle["overflow"] = "скрытый";
this.Attributes.CssStyle["text-overflow"] = "многоточие";
}
}
}
AutoLabel наследуется от элемента управления Label, а ширина по умолчанию равна «100 %». Когда AutoLabel помещается в элемент класса контейнера, ширина его содержимого автоматически регулируется в зависимости от размера контейнера. А когда на автометке появляется знак «...» и наводится на нее указатель мыши, ее всплывающая подсказка автоматически отображает полное содержимое. Как показано ниже: