私のコードでは、パネルの「フレーム」として長方形を描画しています。XMLファイルから必要な色を文字列として取得しています(「赤」、「青」など)。パネルを作成している間、私はこのコードを使用してそれをペイントしています:
Strip.Paint += (sender, e) =>
{
//MessageBox.Show(clr.ToString());
Pen p = new Pen(Color.FromName(color), 2); // color is the string with name of the color
Rectangle r = new Rectangle(1, 1, 286, 36);
e.Graphics.DrawRectangle(p, r);
p.Dispose();
e.Dispose();
};
長方形を更新することになっているメソッドで、この行を追加します
Strip.Refresh();
これは正常に機能します。しかし、30秒ごとにタイマーを使用して、色が変更されたかどうかを確認し、変更された
場合は、要求された色で長方形を再描画します。最初の長方形は正しく描画されます。しかし、タイマーが30に達すると、それはただ...まあ、それをどのように説明するかさえわかりません。これが「リフレッシュ」後の動作の写真です。