java椭圆形窗体_圆形、椭圆形 按钮控件的制作

吧Component修改为继承System.Windows.Forms.ButtonpublicpartialclassEllipseButton : System.Windows.Forms.Button

{privateColor  startColor=Color.Blue;//private Color costartColor=Color.White;privateColor endColor=Color.GreenYellow;

[Description("设定渐变的起始色"),Category("Appearance")]//注视publicColor StartColor

{get{returnstartColor;

}set{

startColor=value;

RePaint();

}

}

[Description("设定渐变的终止色"), Category("Appearance")]publicColor EndColor

{get{returnendColor;

}set{

endColor=value;

RePaint();

}

}publicEllipseButton()

{

InitializeComponent();this.Width=100;this.Height=100;

}//绘制圆形区域protectedoverridevoidOnPaint(PaintEventArgs pe)

{base.OnPaint(pe);

Graphics g=pe.Graphics;

g.Clear(this.BackColor);

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

LinearGradientBrush myBrush=newLinearGradientBrush(rect,startColor,endColor,LinearGradientMode.ForwardDiagonal);

g.FillEllipse(myBrush, rect);

myBrush.Dispose();

StringFormat format=newStringFormat();

format.LineAlignment=StringAlignment.Center;

format.Alignment=StringAlignment.Center;

g.DrawString(this.Text, Font,newSolidBrush(this.ForeColor), rect, format);

}//重新绘制圆形区域privatevoidRePaint()

{

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

OnPaint(newPaintEventArgs(this.CreateGraphics(), rect));

}privatevoidEllipseButton_Resize(objectsender, System.EventArgs e)

{

RePaint();

}privatevoidEllipseButton_TextChanged(objectsender, System.EventArgs e)

{

RePaint();

}

}

作者:FreeComputer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值