如何在另一个窗体中显示图形窗体

本文关键字:窗体 显示 显示图 图形 另一个 | 更新日期: 2023-09-27 18:10:22

我正在开发一个Windows窗体应用程序,到目前为止,一切似乎都很简单。我目前有一个表单,需要一些用户输入,并显示在当前形式的图形。

我想修改这个应用程序,使主表单只接受输入,在按下"go"按钮后,获取的数据被绘制成图形,但这次是在一个应该打开的新表单中。如果用户要在主表单中输入一些新信息,那么按"go",另一个表单应该会弹出新输入数据的图形,依此类推。因此可以同时打开多个不同图形的表单。

我不确定如何修改我的应用程序来实现这一点。我创建了一个新的表单类,并添加了一个图形控件和所有其他控件和设计,我希望这些新的图形表单有,但是当我试图从原始主表单绘制数据时,我不确定如何访问新的图形表单的图形控件值…我把修饰符设置为public,但是我似乎不能使它工作。

是否有一种方法可以更简单地将数据从一种形式绘制成我创建的图形形式的新对象?

如何在另一个窗体中显示图形窗体

创建一个新窗体作为您的绘图窗体。然后向该表单添加表示数据的属性。您甚至可以将该数据传递给表单的构造函数。例如,如果我有一个图形标题和一个整数列表用于我的图形数据,我的表单可能看起来像这样:

public partial class GraphForm : Form
{
    public string GraphTitle { get; set; }
    public List<int> GraphData { get; set; } 
    public GraphForm(string graphTitle, List<int> graphData )
    {
        InitializeComponent();
        GraphTitle = graphTitle;
        GraphData = graphData;
    }
    private void GraphForm_Load(object sender, EventArgs e)
    {
        // Do the plotting here.
    }
}

现在,当用户单击Go按钮时,您可以创建一个新表单,并传入当时需要的数据:

private void goButton_Click(object sender, EventArgs e)
{
    GraphForm form = new GraphForm("Title", new List<int>() {1,2,3} );
    form.Show();
}