ユーザーに情報を表示するための複数のテキストボックスを動的に作成します。今、文が真であれば、いくつかのテキストボックスのバックカラーとフォアカラーを設定したいと思います。テキストボックスは、それを無効にするとフォアカラーが失われます
これは、私が希望するものを表示するのではなく、スタンドアール色に "リセット"する前に、テキストボックスを無効にするまでうまくいきます。
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);
}
私は上記のコードを使用するときにこれがどのようにテキストボックスの外観です:
- コメント行 - >
//txt.Enabled = false;
- 行のコメントを解除 - >
txt.Enabled = false;
なぜ私は考えていませんeの場合、赤いテキストボックスの前景色は白ではありません。 誰でも構いませんか?
代わりに、 'ReadOnly'プロパティをtrueに設定することができます。 –
さて、 'ReadOnly'は私が探し求めた解決策ではありませんでした。 @シナトラは正しい、重複しています。 – FatTony
[同様の例についてはこちらを参照](http://stackoverflow.com/questions/40416262/change-label-text-on-its-own-click-event-during-runtime/40418144#40418144) EnabledChangedイベント。 – TaW