0

ユーザーの入力を検証し、標準のWindows フォームTextBox コントロールの背景色の変更による検証エラーについてユーザーに通知したいと考えています。

しかし、すぐに色を変える代わりに、退色効果を使用したいと思います。

それを行う簡単な方法はありますか?

編集: Infragistics コントロールにもアクセスできますが、違いがあるかどうかはわかりません。

4

1 に答える 1

2

これが C#/.NET であると仮定すると、独自のユーザー コントロールを作成することが、この問題に対する適切な解決策です。から継承する代わりにUserControl、コントロールは から継承する必要がありTextBoxます。これにより、コントロールの外観と動作が通常の のようTextBoxになり、フェード効果を処理するコードを追加できます。

public partial class MyCustomTextbox : Textbox
{

}

BackColorフェードを行うには、次のような関数で徐々に変化するある種のタイマーを作成する必要があります 。

function FadeBackground(float progress)
{
    Color color = Color.FromArgb(255, (int)((1 - progress) * 255),
        (int)((1 - progress) * 255));
    base.BackColor = color;
}

パラメータprogress = 0 の場合は背景が白になり、パラメータ = progress1 の場合は完全な赤になります。

于 2009-07-16T13:41:22.663 に答える