无法在我的 C# 图表上创建线条

本文关键字:创建 我的 | 更新日期: 2023-09-27 18:35:09

我没有错误,但它不会在点上创建线条。我在图表上有 4 个点,但没有线。

    private void button4_Click(object sender, EventArgs e)
    {
        int x1 = Convert.ToInt16(textBox1.Text);
        int x2 = Convert.ToInt16(textBox2.Text);
        int x3 = Convert.ToInt16(textBox3.Text);
        int x4 = Convert.ToInt16(textBox4.Text);
        int y1 = Convert.ToInt16(textBox1.Text);
        int y2 = Convert.ToInt16(textBox2.Text);
        int y3 = Convert.ToInt16(textBox3.Text);
        int y4 = Convert.ToInt16(textBox4.Text);
        x1 = 15; x2 = 19; x3 = 24; x4 = 29;
        this.chart1.Series["HR"].Points.AddXY(x1, y1);
        this.chart1.Series["HR"].Points.AddXY(x2, y2);
        this.chart1.Series["HR"].Points.AddXY(x3, y3);
        this.chart1.Series["HR"].Points.AddXY(x4, y4);
    }
    public void DrawlinePoint(PaintEventArgs e)
    { 
        //Create pen.
        Pen blackPen = new Pen(Color.Black,3);
        // Create coordinates of points that define line.
        int x1 = 11;
        int y1 = 0;
        int x4 = 37;
        int y4 = 220;
        //DrawLine to screen.
        e.Graphics.DrawLine(blackPen, x1,y1,x4, y4);
    }

无法在我的 C# 图表上创建线条

你从哪里调用DrawlinePoint方法?从PointEventArgs参数来看,您必须在图表Paint事件上执行此操作。是否将事件处理程序添加到图表Paint事件?如果没有,则可以将其添加到窗体的构造函数中:

public Form1()
{
    InitializeComponent();
    this.chart1.Paint += (sender, args) => this.DrawlinePoint(args);
}

(作为旁注,如果不使用 .Net 3.5 或更高版本,则必须将 lambda 更改为标准事件处理程序。