Сделать отступ для переноса текста на динамически создаваемый флажок - PullRequest
0 голосов
/ 30 августа 2018

У меня есть динамически созданный флажок из кода, который имеет длинную метку в моем проекте webform asp.net. Когда текст переносится на новую строку, новая строка текста начинается непосредственно под самим флажком. Как я могу динамически установить флажок, чтобы новая строка автоматически отступала при необходимости. Не все динамически созданные флажки имеют длинную метку.

Вот мой код, который создает флажок:

MyObject obj = SetNewObject("Supervisor"); 

CheckBox objCheck6 = new CheckBox();
objCheck6.ID = obj.GetFieldValue("Name");
objCheck6.Text = GetControlTitle("Supervisor");  
objCheck6.Checked = obj.GetFieldValue("Value").ToLower() == "true";
tableCell1.Controls.Add(objCheck6);

Я попробовал пару вещей, которые не сработали. Я попробовал следующее, по одному, и каждый из них, казалось, никак не влиял на флажок или текст флажка:

objCheck6.Style.Add("margin-left", "20px");

objCheck6.LabelAttributes.Add("margin-left", "20px");

objCheck6.TextAlign = TextAlign.Right;

objCheck6.TextAlign = TextAlign.Left;

Точка в правильном направлении очень ценится. Спасибо!

1 Ответ

0 голосов
/ 30 августа 2018

Отредактируйте свой CSS и добавьте его, чтобы затронули все метки из флажков.

label{
  display: block;
  margin-top: -18px;
  margin-left: 20px;
}

Если это вызывает проблему из-за того, что у вас есть другие метки на вашей странице, назовите этот класс css и добавьте его динамически в ваш checkBox следующим образом:

objCheck6.InputAttributes["class"] = "className";

UPDATE

Этого также можно добиться с помощью кода, упомянутого в комментариях:

objCheck6.LabelAttributes.Add("style", "display:block;margin-top:-18px;margin-left:20px;");

Я использовал этот вопрос в качестве ссылки.

...