ユーザーの入力を検証したいと思いますが、標準のWindows Forms TextBoxコントロールの背景色を変更して検証エラーを通知したいとします。Windowsフォームのテキストボックス - フェードイン/フェードアウトの背景色
しかし、色をすぐに変更する代わりに、私は退色効果を使用したいと思います。
簡単な方法はありますか?
編集: Infragisticsコントロールにもアクセスできますが、違いがあれば分かりません。
ユーザーの入力を検証したいと思いますが、標準のWindows Forms TextBoxコントロールの背景色を変更して検証エラーを通知したいとします。Windowsフォームのテキストボックス - フェードイン/フェードアウトの背景色
しかし、色をすぐに変更する代わりに、私は退色効果を使用したいと思います。
簡単な方法はありますか?
編集: Infragisticsコントロールにもアクセスできますが、違いがあれば分かりません。
これは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、これは白い背景が生成されます、そしてときprogress
= 1これがいっぱいになるとき赤。
はい、私はあなたに似ている解決策について考えましたが、アプリケーションパフォーマンスには良いかどうかはわかりませんが、しかし、それをチェックします。 Thxのヘルプ。 – Jarek
タイマーを必要なときにのみ実行すると、60 FPSに固定されているため、パフォーマンスの低下に気付かないでください。 –
このような20個のコントロールは、現代のコンピュータに似たもののWinFormsアプリケーションでは問題ありません。 .Net for Windows 3.1はありません。 :) – MusiGenesis