C# Windows窗体-名称;dataGridView2“;不';在这种情况下不存在

C# Windows窗体-名称;dataGridView2“;不';在这种情况下不存在,c#,winforms,object,C#,Winforms,Object,问题是“名称”dataGridView2“在此上下文中不存在。”。它只出现在代码的最后部分。将对象创建放在public void menuItem1\u Click之外可以解决问题,但是它只创建一个对象,每次按下按钮时,我都需要它来创建一个对象 以下是表格1中的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawin

问题是“名称”dataGridView2“在此上下文中不存在。”。它只出现在代码的最后部分。将对象创建放在public void menuItem1\u Click之外可以解决问题,但是它只创建一个对象,每次按下按钮时,我都需要它来创建一个对象

以下是表格1中的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Kalkulator_Matrica
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int brojMatrice = 1;
        public int dataGridCreator = 0;

        public void menuItem1_Click(object sender, EventArgs e)
        {
            // opens form2 with new matrix
            Form2 novaMatrica = new Form2();


            using (var form = new Form2())
            {
                var result = form.ShowDialog();
                if (result == DialogResult.OK)
                {
                    int column = form.ReturnValue1;
                    int row = form.ReturnValue2;

                    //Create tab
                    TabPage tpage = new TabPage("Matrica " + brojMatrice);
                    tabControl1.TabPages.Add(tpage);

                    //Create data grid
                    DataGridView dataGridView2 = new DataGridView();
                    dataGridView2.ClientSize = new Size(553, 350);
                    dataGridView2.AllowUserToAddRows = false;
                    dataGridView2.AllowUserToResizeColumns = false;
                    dataGridView2.AllowUserToResizeRows = false;
                    dataGridView2.ColumnHeadersVisible = false;
                    dataGridView2.RowHeadersVisible = false;
                    dataGridView2.ColumnCount = column;
                    dataGridView2.RowCount = row;
                    this.AutoSize = true;
                    tpage.Controls.Add(dataGridView2); //Add grid to tab

                    //Create matrix name label
                    Label imeMatrice = new Label();
                    imeMatrice.Location = new Point(620, 10);
                    imeMatrice.Size = new Size(100, 20);
                    imeMatrice.Font = new Font("Microsoft Sans Serif", 15);
                    imeMatrice.Text = "Matrica " + brojMatrice;
                    tpage.Controls.Add(imeMatrice);

                    //Create matrix data label
                    Label dataMatrice = new Label();
                    dataMatrice.Location = new Point(637, 35);
                    dataMatrice.Size = new Size(100, 20);
                    dataMatrice.Font = new Font("Microsoft Sans Serif", 15);
                    dataMatrice.Text = dataGridView2.RowCount + " x " + dataGridView2.ColumnCount;
                    tpage.Controls.Add(dataMatrice);

                    //Povecamo counter za imena matrica
                    brojMatrice += 1;

                    //Create button ADD ROW
                    Button addRow = new Button();
                    addRow.Location = new Point(557, 70);
                    addRow.Size = new Size(107, 40);
                    addRow.Text = "Dodaj redak";
                    addRow.Click += new EventHandler(addRowClick);
                    tpage.Controls.Add(addRow);

                    //Create button REMOVE ROW
                    Button removeRow = new Button();
                    removeRow.Location = new Point(663, 70);
                    removeRow.Size = new Size(107, 40);
                    removeRow.Text = "Izbrisi redak";
                    removeRow.Click += new EventHandler(removeRowClick);
                    tpage.Controls.Add(removeRow);

                    //Create button ADD COLUMN
                    Button addColumn = new Button();
                    addColumn.Location = new Point(557, 110);
                    addColumn.Size = new Size(107, 40);
                    addColumn.Text = "Dodaj stupac";
                    addColumn.Click += new EventHandler(addColumnClick);
                    tpage.Controls.Add(addColumn);

                    //Create button REMOVE COLUMN
                    Button removeColumn = new Button();
                    removeColumn.Location = new Point(663, 110);
                    removeColumn.Size = new Size(107, 40);
                    removeColumn.Text = "Izbrisi stupac";
                    removeColumn.Click += new EventHandler(removeColumnClick);
                    tpage.Controls.Add(removeColumn);


                    //Sets widght of all columns
                    for (int i = 0; i < column; i = i + 1)
                    {
                        dataGridView2.Columns[i].Width = 25;
                    }

                    dataGridCreator = dataGridCreator + 1;
                }
            }
        }

        private void addRowClick(object sender, EventArgs e)
        {
            dataGridView2.RowCount = dataGridView2.RowCount + 1;
        }
        private void removeRowClick(object sender, EventArgs e)
        {
            if (dataGridView2.RowCount > 1) {
                dataGridView2.RowCount = dataGridView2.RowCount - 1;
            }
        }
        private void addColumnClick(object sender, EventArgs e)
        {
            dataGridView2.ColumnCount = dataGridView2.ColumnCount + 1;
            for (int i = 0; i < dataGridView2.ColumnCount; i = i + 1)
            {
                dataGridView2.Columns[i].Width = 25;
            }
        }
        private void removeColumnClick(object sender, EventArgs e)
        {
            if (dataGridView2.ColumnCount > 1)
            {
                dataGridView2.ColumnCount = dataGridView2.ColumnCount - 1;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Forms;
名称空间Kalkulator_Matrica
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
}
int brojMatrice=1;
public int dataGridCreator=0;
public void menuItem1\u单击(对象发送者,事件参数e)
{
//使用新矩阵打开form2
Form2 novaMatrica=新Form2();
使用(var form=new Form2())
{
var result=form.ShowDialog();
if(result==DialogResult.OK)
{
int column=form.ReturnValue1;
int行=form.ReturnValue2;
//创建选项卡
TabPage tpage=新的TabPage(“Matrica”+brojMatrice);
tabControl1.TabPages.Add(tpage);
//创建数据网格
DataGridView dataGridView2=新建DataGridView();
dataGridView2.ClientSize=新大小(553350);
dataGridView2.AllowUserToAddress=false;
dataGridView2.AllowUserStoreSizeColumns=false;
dataGridView2.AllowUserToResizeRows=false;
dataGridView2.ColumnHeadersVisible=false;
dataGridView2.RowHeadersVisible=false;
dataGridView2.ColumnCount=列;
dataGridView2.RowCount=行;
this.AutoSize=true;
tpage.Controls.Add(dataGridView2);//将网格添加到选项卡
//创建矩阵名称标签
Label imeMatrice=新标签();
i矩阵位置=新点(620,10);
imeMatrice.Size=新尺寸(100,20);
字体=新字体(“Microsoft无衬线字体”,15);
imeMatrice.Text=“Matrica”+brojMatrice;
tpage.Controls.Add(imeMatrice);
//创建矩阵数据标签
标签数据矩阵=新标签();
数据矩阵位置=新点(637,35);
大小=新大小(100,20);
字体=新字体(“Microsoft无衬线字体”,15);
dataMatrice.Text=dataGridView2.RowCount+“x”+dataGridView2.ColumnCount;
tpage.Controls.Add(数据矩阵);
//波维卡莫计数器
brojMatrice+=1;
//创建按钮添加行
Button addRow=新建按钮();
addRow.Location=新点(557,70);
addRow.Size=新尺寸(107,40);
addRow.Text=“Dodaj redak”;
addRow.Click+=新建事件处理程序(addRowClick);
tpage.Controls.Add(addRow);
//创建按钮删除行
按钮移除箭头=新按钮();
移除路径位置=新点(663,70);
尺寸=新尺寸(107,40);
removeRow.Text=“Izbrisi redak”;
removeRow.Click+=新建事件处理程序(removeRowClick);
tpage.Controls.Add(删除箭头);
//创建按钮添加列
Button addColumn=新建按钮();
addColumn.Location=新点(557110);
addColumn.Size=新尺寸(107,40);
addColumn.Text=“Dodaj stupac”;
addColumn.Click+=新建事件处理程序(addColumnClick);
tpage.Controls.Add(添加列);
//创建按钮删除列
Button removeColumn=新建按钮();
removeColumn.Location=新点(663110);
removeColumn.Size=新尺寸(107,40);
removeColumn.Text=“Izbrisi stupac”;
removeColumn.Click+=新建事件处理程序(removeColumnClick);
tpage.Controls.Add(removeColumn);
//设置所有列的宽度
对于(int i=0;i1){
dataGridView2.RowCount=dataGridView2.RowCount-1;
}
}
私有void addColumnClick(对象发送方,事件参数e)
{
dataGridView2.ColumnCount=dataGridView2.ColumnCount+1;
对于(int i=0;i1)
{
dataGridView2.ColumnCount=dataGridView2.ColumnCount-1;
}
}
私有void Form1\u加载(对象发送方、事件参数e)
int brojMatrice = 1;
public int dataGridCreator = 0;
DataGridView dataGridView2;

public void menuItem1_Click(object sender, EventArgs e)
{
    //Create data grid
    dataGridView2 = new DataGridView();
}