Метка флажка выше флажка. Как? - PullRequest
2 голосов
/ 04 ноября 2011

Я использую C # visual Studio 2010 для разработки веб-сайта ASP.NET.

Я динамически создаю флажок во время выполнения.

CheckBox chkbox = new CheckBox();
chkbox.ID = "chk" + checkboxID;

// Add our checkbox to the panel
dynamicPanel.Controls.Add(chkbox);
chkbox.Text = checkboxName;

По умолчанию метка отображается насправа от флажка.Я могу успешно перемещать метку из стороны в сторону, настраивая chkbox.TextAlign = TextAlign.Right / Left.

Что я не могу понять на всю жизнь, так это установить текст над флажком.

Я не ищу каких-либо взломов, например, verticle-align: -3px, так как это не будет работать для меня, потому что я позволил пользователю выбрать шрифт и размер текста.Это не всегда будет -3px в глубину.

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011

Полагаю, вам следует перейти с новым элементом управления, где вы добавляете отдельную метку под флажком (фактически упаковывая флажок).Получите этот класс из CheckBox и переопределите (или определите новый, если не виртуальный) свойство Text, чтобы теперь он устанавливал текст верхней метки.Это на самом деле будет хорошим примером шаблона Decorator.

2 голосов
/ 04 ноября 2011

Установите свойство выравнивания текста на TextAlign.Left , затем используйте CSS, чтобы установить отображение метки на: block .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...