我动态创建多个文本框,以便向用户显示信息。现在我想设置一些文本框的背景和前景,如果一个语句是真的。
所有这一切都很好,直到我禁用文本框,现在前色“重置”为标准颜色而不是显示我想要的颜色。
DataTable dt = [some data]
//Col 0: ID
//Col 1: some text
//Col 2: date
for (int i = 0; i < dt.Rows.Count; i++)
{
DateTime d = (DateTime) dt.Rows[i].ItemArray[2];
TextBox txt = new TextBox();
txt.Multiline = true;
txt.Font = tb_Aufloesung.Font;
txt.Text = dt.Rows[i].ItemArray[1].ToString() + "\n" + d.ToString(@"dd.MM.yyyy");
txt.Size = new Size((TextRenderer.MeasureText(dt.Rows[i].ItemArray[1].ToString(), txt.Font).Width) + 10, 34);
txt.Location = new Point(43, 3 + split.Panel2.Controls.Count / 2 * 40);
if(d <= DateTime.Now) {
txt.BackColor = Color.Red;
txt.ForeColor = Color.White;
}
//txt.Enabled = false;
split.Panel2.Controls.Add(txt);
}
当我使用上面的代码时,文本框的外观如下:
答案 0 :(得分:0)
这就是文本框的工作方式 - 它们意味着输入,而不是显示。为什么不使用标签?