C#画圆问题

画三个圆,分别上色。这个我都做了,但是现在需要用一个textbox让用去输入圆的半径,从而改变圆的大小,请问各位大神,这个怎么弄?另外还有就是给这三个圆描上黑的边。pub... 画三个圆,分别上色。这个我都做了,但是现在需要用一个textbox让用去输入圆的半径,从而改变圆的大小,请问各位大神,这个怎么弄?另外还有就是给这三个圆描上黑的边。

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button3_Click(object sender, EventArgs e)
{
Graphics paper = pictureBoxDisplay.CreateGraphics();
SolidBrush aBrush = new SolidBrush(Color.Green);
Rectangle bar = new Rectangle(10, 10, 50, 50);
paper.FillEllipse(aBrush, bar);

bar.Y += 80;
aBrush.Color = Color.Yellow;
paper.FillEllipse(aBrush, bar);

bar.Y += 80;
aBrush.Color = Color.Red;
paper.FillEllipse(aBrush, bar);
少打了一个字,让用户
展开
 我来答
freeeeeewind
推荐于2018-03-20 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1363万
展开全部
        private void button1_Click(object sender, EventArgs e)
        {
            int diameter;
            try
            {
                diameter = int.Parse(textBox1.Text);
            }
            catch
            {
                MessageBox.Show("直径值错误!");
                return;
            }
            Rectangle rect = new Rectangle(10, 10, diameter, diameter);
            
            Graphics g = pictureBox1.CreateGraphics();
            
            //清除原来画的圆
            g.Clear(pictureBox1.BackColor);

            //画圆——绿色
            Brush brush = new SolidBrush(Color.Green);
            g.FillEllipse(brush, rect);
            //描边
            Pen pen = Pens.Black;
            g.DrawEllipse(pen, rect);

            //画圆——黄色
            rect.Y += 80;
            brush = new SolidBrush(Color.Yellow);
            g.FillEllipse(brush, rect);
            //描边
            g.DrawEllipse(pen, rect);

            //画圆——红色
            rect.Y += 80;
            brush = new SolidBrush(Color.Red);
            g.FillEllipse(brush, rect);
            //描边
            g.DrawEllipse(pen, rect);

            g.Dispose();
        }
cooke1234
2014-04-04 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3618万
展开全部
FillEllipse函数,用来填充一个矩形的内部椭圆的。当矩形尺寸变小的时候,椭圆也就变小了。
你这里的矩形bar创建的时候,使用Rectangle(10, 10, 50, 50);,自己修改一下尺寸就可以了。
描黑边,实际上就是用黑色画笔画一个圆。使用Graphics类的DrawEllipse函数(填充用FillEllipse)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
推荐于2016-03-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3293万
展开全部
            Point center = new Point(20, 20);
            Graphics paper = pictureBoxDisplay.CreateGraphics();
            paper.Clear(this.BackColor);
            SolidBrush aBrush = new SolidBrush(Color.Green);
            Pen blackPen = new Pen(Color.Black, 1);
            int r = int.Parse(textBox1.Text);

            Rectangle bar = new Rectangle(center.X-r,center.Y-r,center.X+r,center.Y+r);
            paper.FillEllipse(aBrush, bar);
            paper.DrawEllipse(blackPen, bar);

           bar.Y += 80;
           aBrush.Color = Color.Yellow;
           paper.FillEllipse(aBrush, bar);
           paper.DrawEllipse(blackPen, bar);
           bar.Y += 80;
           aBrush.Color = Color.Red;
           paper.FillEllipse(aBrush, bar);
           paper.DrawEllipse(blackPen, bar);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式