65.9K
CodeProject 正在变化。 阅读更多。
Home

Office 2007 按钮

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.16/5 (22投票s)

2007 年 4 月 10 日

GPL3
viewsIcon

60668

downloadIcon

1736

Button

Screenshot - ofs2007.png

引言

Office2007 风格的按钮非常易于使用。只需拖放工具箱即可。

Using the Code

internal void DrawControl(Graphics e)
{
    recBounds = this.ClientRectangle;
    Rectangle m_BrushSize=new Rectangle(0, 0, 
    this.Width , this.Height / 2);

    for(int i=0;i<=40;i++)
    {
        LinearGradientBrush myLinearGradientBrush1 = 
		new System.Drawing.Drawing2D.LinearGradientBrush
		(m_BrushSize, Color.FromArgb(i,220,252,255), 
		Color.FromArgb(i,125,195,236),
        90);//top item 

        LinearGradientBrush myLinearGradientBrush=
	    new LinearGradientBrush(m_BrushSize, Color.FromArgb(i,93,174,221), 
	    Color.FromArgb(i,177,252,255),
        -90);//down item

        myLinearGradientBrush.WrapMode =System.Drawing.Drawing2D.WrapMode.TileFlipXY;
        myLinearGradientBrush1.WrapMode=System.Drawing.Drawing2D.WrapMode.TileFlipXY;

        e.FillRectangle(myLinearGradientBrush,1, this.Height/2, 
        this.Width-2 , this.Height / 2-1);//down

        e.FillRectangle(myLinearGradientBrush1,1, 1, 
        this.Width-2 , this.Height / 2);//top

        //Draw Border
        Brush brsBorder=new SolidBrush(Color.FromArgb(121,157,182));
        Pen pnsBorder=new Pen(brsBorder);

        Brush brsDot=new SolidBrush(Color.FromArgb(179,201,214));
        Pen pnsDot=new Pen(brsDot);

        e.DrawRectangle(Pens.White,this.ClientRectangle.X+1,
    	this.ClientRectangle.Y+1,this.ClientRectangle.Width-3,
    	this.ClientRectangle.Height-3);

        e.DrawLine(pnsDot,this.ClientRectangle.X,this.ClientRectangle.Y+1,
		this.ClientRectangle.X+1,this.ClientRectangle.Y+1);
        e.DrawLine(pnsDot,this.ClientRectangle.X,this.ClientRectangle.Bottom-2,
		this.ClientRectangle.X+1,this.ClientRectangle.Bottom-2);
        e.DrawLine(pnsDot,this.ClientRectangle.Right-1,this.ClientRectangle.Bottom-2,
		this.ClientRectangle.Right-2,this.ClientRectangle.Bottom-2);
        e.DrawLine(pnsDot,this.ClientRectangle.Right-1,this.ClientRectangle.Y+1,
		this.ClientRectangle.Right-2,this.ClientRectangle.Y+1);

        e.DrawLine(pnsBorder,this.ClientRectangle.X+1,this.ClientRectangle.Y,
		this.ClientRectangle.Right-2,this.ClientRectangle.Y);
        e.DrawLine(pnsBorder,this.ClientRectangle.X,this.ClientRectangle.Y+1,
		this.ClientRectangle.X,this.ClientRectangle.Bottom-2);
        e.DrawLine(pnsBorder,this.ClientRectangle.X+1,this.ClientRectangle.Bottom-1,
		this.ClientRectangle.Right-2,this.ClientRectangle.Bottom-1);
        e.DrawLine(pnsBorder,this.ClientRectangle.Right-1,this.ClientRectangle.Y+1,
		this.ClientRectangle.Right-1,this.ClientRectangle.Bottom-2);

        //////////////////////////////////////////////////////////////////end Border

        OnDrawTextAndImage(e);
        myLinearGradientBrush.Dispose();
        myLinearGradientBrush1.Dispose();
        brsBorder.Dispose();
        brsDot.Dispose();
        pnsBorder.Dispose();
        pnsDot.Dispose();
    }
}

历史

  • 2007年4月10日:初始发布
© . All rights reserved.