我有这个用户控件代码,用户控件是 GraphChart:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Web;
using System.Windows.Forms.DataVisualization.Charting;
namespace GatherLinks
{
public partial class GraphChart : UserControl
{
Form1 form1;
public GraphChart(Form1 f1)
{
InitializeComponent();
form1 = f1;
}
private void GraphChart_Load(object sender, EventArgs e)
{
chart1.Series.Clear();
var series1 = new System.Windows.Forms.DataVisualization.Charting.Series
{
Name = "Series1",
Color = System.Drawing.Color.Green,
IsVisibleInLegend = false,
IsXValueIndexed = true,
ChartType = SeriesChartType.Line
};
this.chart1.Series.Add(series1);
//for (int i = 0; i < 100; i++)
//{
series1.Points.AddXY(form1.axisX, form1.axisY);
//}
chart1.Invalidate();
}
添加 form1 和 f1 变量后,我得到错误:
错误 2 GatherLinks.GraphChart' 不包含采用 0 个参数的构造函数
当我双击错误时,它移动到 Form1 设计器 cs 到该行:
this.graphChart1 = new GatherLinks.GraphChart();
我试图将 Form1 放在 () 之间,但它没有工作,出现错误。我该如何解决?
编辑:
我刚刚在用户控制代码中做了:
public partial class GraphChart : UserControl
{
Form1 form1;
public GraphChart() { }
public GraphChart(Form1 f1)
{
InitializeComponent();
form1 = f1;
}
但现在在 Form1 构造函数中,我有以下几行:
this.graphChart1.chart1.MouseMove += chart1_MouseMove;
this.graphChart1.chart1.MouseLeave += chart1_MouseLeave;
他们以前工作得很好,但是一旦我添加了以下行: public GraphChart() { } 我在运行 chart1 为 null 的应用程序时遇到错误。