標準ラベルコントロールにグラデーションを追加したGradientLabelコントロール

VB.NETで標準ラベルコントロールから派生した、背景色をグラデーション描画するGradientLabelコントロールを作成しました。

このコントロールには以下の追加プロパティが備わっています。

プロパティ 概要
BackColor2 グラデーション終了色
(デフォルトのBackColorからBackColor2への色の変化)
FrameColor ラベルの枠色
GradientMode グラデーションの方向(LinearGradientMode)
GradientCount グラデーションの回数
(回数は1から10に強制的におさえている)

このGradientLabelコントロールのソースは以下の様になっています。
バックグラウンド描画イベント処理にてグラデーション用ブラシでグラデーションの色と位置を設定し、内部を描画します。 さらに、枠色で枠を描画しています。




このコントロールを使った例を以下に示します。
BackColorにはWhiteを、BackColor2にはRedを設定しました。

Grad


■GradientMode:Horizontal
左から右に向かってグラデーションされます。
BackColor⇒BackColor2の色変化のグラデーションです。
GradientCount=1の場合は、BackColor⇒BackColor2のみのグラデーションで
GradientCount=2の場合は、BackColor⇒BackColor2⇒BackColorのグラデーションとなります。
その後、GradientCountの値が増えるに従って、「BackColor2」「BackColor」が繰り返されます。

■GradientMode:Vertical
上から下に向かってグラデーションされます。

■GradientMode:ForwardDiagonal
左上から右下に向かってグラデーションされます。

■GradientMode:BackwardDiagonal
右上から左下に向かってグラデーションされます。

コメント(0)