收录日期:2020/10/27 22:31:47 时间:2016/05/31 13:45:08 标签:C#
如何在窗体中画一个扇图?用来摇奖,
填充由一对坐标、一个宽度、一个高度以及两条射线指定的椭圆所定义的扇形区的内部。

[Visual Basic] Overloads Public Sub FillPie(Brush, Integer, Integer, Integer, Integer, Integer, Integer)
[C#] public void FillPie(Brush, int, int, int, int, int, int);
[C#]
public void FillPie(
   Brush brush,
   int x,
   int y,
   int width,
   int height,
   int startAngle,
   int sweepAngle
);


参数
brush 
确定填充特性的 Brush 对象。 

边框左上角的 x 坐标,该边框定义扇形区所属的椭圆。 

边框左上角的 y 坐标,该边框定义扇形区所属的椭圆。 
width 
边框的宽度,该边框定义扇形区所属的椭圆。 
height 
边框的高度,该边框定义扇形区所属的椭圆。 
startAngle 
从 x 轴沿顺时针方向旋转到扇形区第一个边所测得的角度(以度为单位)。 
sweepAngle 
从 startAngle 参数沿顺时针方向旋转到扇形区第二个边所测得的角度(以度为单位)。 
返回值
此方法不返回值。

备注
要画成一个圆!
画一个圆
Timer temer = new Timer();
int i = 0;
SolidBrush redBrush = new SolidBrush(Color.Red);
private void button5_Click(object sender, System.EventArgs e)
{
this.temer.Interval = 10;
this.temer.Tick += new System.EventHandler(this.timer_Tick);
this.temer.Start();
}
private void timer_Tick(object sender, System.EventArgs e)
{
// Create location and size of ellipse.
float x = 20.0F;
float y = 20.0F;
float width = 200.0F;
float height = 200.0F;
// Create start and sweep angles.
float startAngle =  0.0F;
float sweepAngle = ++i;
// Fill pie to screen.
Graphics g = this.CreateGraphics();
g.FillPie(redBrush, x, y, width, height, startAngle, sweepAngle);
if(i == 360)
{
i = 0;
this.Refresh();
}
}
this.Refresh();
可用以下两句代替
SolidBrush tempBrush = new SolidBrush(this.BackColor);
g.FillPie(tempBrush, x, y, width, height, startAngle, sweepAngle);
但是会有虚圆出现
要求:画成圆后,里面有8个扇区(有8种色),开始后,圆在转,停止时窗体上的针对准那个扇区就说明中奖了!

大家看下编译的时候我这个程序怎么出现E:\\代码\\十进制转换成二进制数\\1.cpp(14) : error C2065: \'endle\' : undeclared identifier 关于javascript的 控制window系统服务(打开程序页面) 工厂模式类对象生成问题 mozilla下document.getElementsByTagName(\"input\")[0].name不行啊? 帮忙看看以下sql语句 javaScript的几个小问题 vc++链接器 不知道这些lib是如何链接到工程中的,真是奇怪? 用devc++写的的dll的问题。急! 如何在本地应用程序中测试tomcat中配置的连接池呢?急急急!!! java String 编码 救命!!PHP写FTP上传视频在ftp_put()上遇到问题!! 为了找工作,想学点数据库方面的知识,请各位大侠给点建议! 此sql不用decode怎么写? detailsview的样式设定 access barcode 的使用方法,怎么编辑内容? 关于socket的问题 完了 眼睛一睁一闭…………嚎~~~~~~ 大侠帮办忙 没为第二列指定列????? 关于changepassword的问题 请问在Repeater控件中这样增加代码怎出错了 有关lwuit中的theme(主题)的问题~~~~ 请问如何遍历一个网站的某个目录? ORA-06502: PL/SQL: numeric or value error: character string buffer too small java 计算问题 数据库登录问题 参数传递问题 大家看下编译的时候我这个程序怎么出现E:\\代码\\十进制转换成二进制数\\1.cpp(14) : error C2065: \'endle\' : undeclared identifier 关于类静态数组初始化 如何在sql sever之外检查sql语句的语法正确性?