C#:无法访问私有方法中的 Public 方法

C#: Unable to access Public method in a private method

我是 C# 和使用表单的新手,所以如果我不理解它应该如何工作,请原谅我。

我正在尝试在表单中创建 LayoutTablePanel 以最终显示一些数据。

在 Visual Studio 中,我知道我可以将 LayoutTablePanel 拖放到表单设计器中以直观地看到添加的 table,但为了更容易 add/edit tables,我想从 public Form1() 级别开始,像这样:

public partial class Form1 : Form
{       
 public Form1()
 {
  InitializeComponent();
  TableLayoutPanel ClassCol = new TableLayoutPanel();
  ClassCol.Location = new System.Drawing.Point(0, 20);
  ClassCol.Name = "ClassCol";
  ClassCol.Size = new System.Drawing.Size(79, 400); //add a changing variable here later.
  ClassCol.TabIndex = 0;
  ClassCol.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
  Controls.Add(ClassCol);
 }

 private void toolStripLabel1_Click(object sender, EventArgs e)
 {

 }
}

现在,这会在运行时初始化 TableLayoutPanel,这是我想要的,但我想稍后通过单击某些按钮来修改(动态添加行)。在这种情况下,通过点击toolStripLabel1_Click方法;但是,当在私有方法中输入 Class.Col 时,它似乎无法访问我创建的 TableLayoutPanel 实例的迭代。如果有人可以帮我解决这个问题,我将不胜感激。谢谢

编辑:如果我这样调整代码:

public partial class Form1 : Form
{     
  TableLayoutPanel ClassCol = new TableLayoutPanel();
  ClassCol.Location = new System.Drawing.Point(0, 20);
  ClassCol.Name = "ClassCol";
  ClassCol.Size = new System.Drawing.Size(79, 400); //add a changing variable here later.
  ClassCol.TabIndex = 0;
  ClassCol.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
  Controls.Add(ClassCol);

 public Form1()
 {
  InitializeComponent();
 }

 private void toolStripLabel1_Click(object sender, EventArgs e)
 {

 }
}

它说我正在使用 Form1.ClassCol 就好像它是 "type" 而实际上它是 "field".

您需要移动此行:

TableLayoutPanel ClassCol = new TableLayoutPanel();

这一行以上:

public Form1()

您在 Form1() 构造函数中本地声明它,因此没有其他方法可以访问它。您需要在 class 级别而不是方法级别声明它。