C# 用C语言将绘图从类发送到窗体#

C# 用C语言将绘图从类发送到窗体#,c#,winforms,gdi,C#,Winforms,Gdi,我有一个名为CircleSector的类,它绘制了一个PIChart 如果我从form1调用该类,则无法绘制PIChart 这是我的密码: 表格1: public void button1_Click(object sender, EventArgs e) { int textdata = Convert.ToInt32(textBox1.Text); CS = new CircleSector(textdata, this); // CS.GetGraphicSecto

我有一个名为
CircleSector
的类,它绘制了一个PIChart

如果我从
form1
调用该类,则无法绘制PIChart

这是我的密码:

表格1:

public void button1_Click(object sender, EventArgs e)
{
    int textdata = Convert.ToInt32(textBox1.Text);
    CS = new CircleSector(textdata, this);
    // CS.GetGraphicSector(this);
}
public CircleSector(int TextData , Form1 D)
{
    Pen CirclePen = new Pen(Color.Black);
    Rect = new Rectangle(XAxis, YAxis, CircleRadius, CircleRadius);
    float temp1 = 0;
    SectorCircle = this.CreateGraphics();
    PIVal = - 360 / TextData;

    float temp2 = PIVal;
    for (int i = 0; i <= TextData; i++)
    {
        m_Value = i;
        SectorCircle.DrawPie(CirclePen, Rect, 0, temp2);
        temp1 = temp2;
        temp2 = temp2 - PIVal;
    }

    //  MessageBox.Show("Mouse Pressed");
    //  return SectorCircle;
}
CircleSector:

public void button1_Click(object sender, EventArgs e)
{
    int textdata = Convert.ToInt32(textBox1.Text);
    CS = new CircleSector(textdata, this);
    // CS.GetGraphicSector(this);
}
public CircleSector(int TextData , Form1 D)
{
    Pen CirclePen = new Pen(Color.Black);
    Rect = new Rectangle(XAxis, YAxis, CircleRadius, CircleRadius);
    float temp1 = 0;
    SectorCircle = this.CreateGraphics();
    PIVal = - 360 / TextData;

    float temp2 = PIVal;
    for (int i = 0; i <= TextData; i++)
    {
        m_Value = i;
        SectorCircle.DrawPie(CirclePen, Rect, 0, temp2);
        temp1 = temp2;
        temp2 = temp2 - PIVal;
    }

    //  MessageBox.Show("Mouse Pressed");
    //  return SectorCircle;
}
PublicCircleSector(int-TextData,Form1d)
{
钢笔圈笔=新钢笔(颜色为黑色);
Rect=新矩形(XAxis、YAxis、CircleRadius、CircleRadius);
浮点数1=0;
SectorCircle=this.CreateGraphics();
PIVal=-360/文本数据;
float temp2=PIVal;

对于(inti=0;i我认为问题就在这里

SectorCircle = this.CreateGraphics();
试试这个

SectorCircle = D.CreateGraphics();

还有问题吗?谢谢。问题就出在这里。CreateGraphics()@user3458123如果你得到了解决方案,那么别忘了接受答案?接受答案将有助于了解其他人在这种情况下哪种解决方案是最好的。你还应该在使用后处理SectorCircle。