学院首页>网络编程>ASP.NET>一个自定义LABEL组件的C#源代码

一个自定义LABEL组件的C#源代码

作者: 来源: 添加时间:2006-5-21 20:00:45
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.ComponentModel;

namespace wzsbmain
{
 /// <summary>
 /// Summary description for LabelGradient.
 /// </summary>
  
 public class wzsbmainLabel : System.Windows.Forms.Label
 {
  
  #region Implementtation Member Fields
  protected Color gradientColorOne = Color.White;
  protected Color gradientColorTwo = Color.Blue;
  protected LinearGradientMode lgm = LinearGradientMode.ForwardDiagonal;
  protected Border3DStyle b3dstyle = Border3DStyle.Bump;
  #endregion

#region GradientColorOne Properties
  [
  DefaultValue(typeof(Color),"White"),
  Description("The first gradient color."),
  Category("Appearance"),
  ]

//GradientColorOne Properties
  public Color GradientColorOne
  {
get
{
 return gradientColorOne;
}
set
{
 gradientColorOne = value;
 Invalidate();
}
  }
  #endregion
  
  #region GradientColorTwo Properties
  [
  DefaultValue(typeof(Color),"Blue"),
  Description("The second gradient color."),
  Category("Appearance"),
  ]

//GradientColorTwo Properties
  public Color GradientColorTwo
  {
get
{
 return gradientColorTwo;
}
set
{
 gradientColorTwo = value;
 Invalidate();
}
  }

#endregion

#region LinearGradientMode Properties
  //LinearGradientMode Properties
  [
  DefaultValue(typeof(LinearGradientMode),"ForwardDiagonal"),
  Description("Gradient Mode"),
  Category("Appearance"),
  ]
  
  public LinearGradientMode GradientMode
  {
get
{
 return lgm;
}

set
{
 lgm = value;
 Invalidate();
}
  }
  #endregion
 
  #region Border3DStyle Properties
  //Border3DStyle Properties
  [
  DefaultValue(typeof(Border3DStyle),"Bump"),
  Description("BorderStyle"),
  Category("Appearance"),
  ]

// hide BorderStyle inherited from the base class
  new public Border3DStyle BorderStyle
  {
get
{
 return b3dstyle;
}
set
{
 b3dstyle = value;
 Invalidate();
}
  }
  #endregion

#region Removed Properties
  
  // Remove BackColor Property
  [
  Browsable(false),
  EditorBrowsable(EditorBrowsableState.Never)
  ]
  public override System.Drawing.Color BackColor
  {
get 
{
 return new System.Drawing.Color();
}
set {;}
  }
  
  #endregion

//  protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
  //  {
  //Graphics gfx = e.Graphics;
  ////Border3DStyle b3dstyle = Border3DStyle.Bump;
  ////Border3DSide b3dside = Border3DSide.All;
  //
  //Rectangle rect = new Rectangle (0,0,this.Width,this.Height);
  //
  //// Dispose of brush resources after use
  //using (LinearGradientBrush lgb = new LinearGradientBrush(rect, gradientColorOne,gradientColorTwo,lgm))
  //gfx.FillRectangle(lgb,rect);
  //
  ////3d border
  ////ControlPaint.DrawBorder3D(gfx,rect,b3dstyle,b3dside);
  //
  //
  //// Call the OnPaint method of the base class
  //   base.OnPaint(e);
  //
  //  }

protected override void OnPaintBackground(System.Windows.Forms.PaintEventArgs pevent)
  {
Graphics gfx = pevent.Graphics;

Rectangle rect = new Rectangle (0,0,this.Width,this.Height);

// Dispose of brush resources after use
using (LinearGradientBrush lgb = new LinearGradientBrush(rect, gradientColorOne,gradientColorTwo,lgm))
 gfx.FillRectangle(lgb,rect);

ControlPaint.DrawBorder3D(gfx,rect,b3dstyle);
  }

}
}

站内搜索