在动态创建的复选框上缩进包装文本
Indent wrapped text on dynamically created checkbox
我有一个从后面的代码动态创建的复选框,它在我的网络表单 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;
如能指出正确方向,我们将不胜感激。谢谢!
编辑您的 css 并添加它,以便复选框中的所有标签都受到影响。
label{
display: block;
margin-top: -18px;
margin-left: 20px;
}
如果因为页面中有其他标签而导致问题,请将其命名为 css class 并将其动态添加到您的复选框中,如下所示:
objCheck6.InputAttributes["class"] = "className";
更新
也可以用评论中提到的代码实现:
objCheck6.LabelAttributes.Add("style", "display:block;margin-top:-18px;margin-left:20px;");
我用了this question作为参考。
我有一个从后面的代码动态创建的复选框,它在我的网络表单 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;
如能指出正确方向,我们将不胜感激。谢谢!
编辑您的 css 并添加它,以便复选框中的所有标签都受到影响。
label{
display: block;
margin-top: -18px;
margin-left: 20px;
}
如果因为页面中有其他标签而导致问题,请将其命名为 css class 并将其动态添加到您的复选框中,如下所示:
objCheck6.InputAttributes["class"] = "className";
更新
也可以用评论中提到的代码实现:
objCheck6.LabelAttributes.Add("style", "display:block;margin-top:-18px;margin-left:20px;");
我用了this question作为参考。