-1

私が作成したメソッドは、pictureBox に円を作成するところまで機能しましたが、四角形の座標しか使用しませんでした。

私は次のものを作成しようとしています、

  • Windows フォーム:
    • 1ピクチャーボックス
    • 1 つのテキストボックス
    • 1 ボタン

円の半径を挿入するには、textBox を使用する必要があります。

(double input=Convert.ToDouble(textBox1.Text)

{
private void button1_Click(object sender, EventArgs e)

    {
        double input....
        double radius= Math.PI*input*input;
        Graphics paper;
        paper = pictureBox1.CreateGraphics();
        Pen pen = new Pen(Color.Black);
        getCircle(paper, pen, (variables for center), radius);
    }
private void getCircle(Graphics drawingArea, Pen penToUse, int xPos, int yPos, double radius);

{
}

}

Math.PI*radius*radiusここでの問題は、事前に決定された中心座標を使用して円を作成する方法がわからないことです。

コード化された方法で答えを見たいと思いますbutton_click

4

1 に答える 1

2

円の面積を見つけて半径と呼んでいる理由がわかりませんが、Winformsを使用しているように見えるので、このGraphics.DrawEllipse方法を使用して、目的の中心から半径を引いて見つけることができる長方形を使用します。

private void button1_Click(object sender, EventArgs e)
{
    int centerX;
    int centerY;
    int radius;

    if (!int.TryParse(textBox2.Text, out centerX))
        return;
    if (!int.TryParse(textBox3.Text, out centerY))
        return;
    if(! int.TryParse(textBox1.Text,out radius))
        return;

    Point center = new Point(centerX, centerY);

    Graphics paper; 
    paper = pictureBox1.CreateGraphics(); 
    Pen pen = new Pen(Color.Black); 
    getCircle(paper, pen, center, radius); 

}

private void getCircle(Graphics drawingArea, Pen penToUse, Point center, int radius) 
{ 
    Rectangle rect = new Rectangle(center.X-radius, center.Y-radius,radius*2,radius*2); 
    drawingArea.DrawEllipse(penToUse,rect);
}  
于 2012-09-29T16:37:18.577 に答える