即使Modifier设置为PUBLIC,也无法访问另一个表单上的控制

本文关键字:另一个 访问 表单 控制 设置 Modifier PUBLIC 即使 | 更新日期: 2023-09-27 18:07:17

我正试图从另一种形式访问我的MainForm。这个控件是一个FlowLayoutPanel,我已经将其访问修饰符设置为Public。我不知道为什么我不能从另一种形式访问它,因为这种方法在过去一直对我有效。

MainForm.cs:

void button1_Click(object sender, EventArgs e)
{
    using(var editor = new Editor())
    {
        editor.ShowDialog();
    }
}

Editor.cs:

void button1_Click(object sender, EventArgs e)
{
    int count = MainForm.flow.Count;
}

为什么我不能从另一个形式访问这个控件-即使它的修饰符被设置为public ?

即使Modifier设置为PUBLIC,也无法访问另一个表单上的控制

您访问控件/属性错误。

你应该这样做。

MainForm.cs

private void button1_Click(object sender, EventArgs e)
{
  var frm = new Editor();
  frm.ShowDialog(this);
}

Editor.cs

private void button1_Click(object sender, EventArgs e)
{
    var f = (this.Owner as MainForm);
    int count = f.flow.Count;
    MessageBox.Show(count.ToString());
}