c#新表单返回值不能被Mainform识别

本文关键字:不能 Mainform 识别 返回值 新表单 表单 | 更新日期: 2023-09-27 18:12:50

我通过工具栏打开了一个额外的表单,输入主表单中需要的Username(并且在主表单中声明为String)

Mainform代码:

private void toolStripButton6_Click(object sender, EventArgs e)
    {
        using (Form frm = new Form3())
        {
            frm.FormBorderStyle = FormBorderStyle.FixedDialog;
            frm.StartPosition = FormStartPosition.CenterParent;
            if (frm.ShowDialog() == DialogResult.OK)
            {
                Username = frm.ReturnValue1;
            }
        }
    }

格式代码:

    public string ReturnValue1 { 
        get
        {
            return textBox1.Text;
        }
    } 
    private void button1_Click(object sender, EventArgs e)
    {
        this.Close();
    }

c#告诉我没有form。ReturnValue1:(

c#新表单返回值不能被Mainform识别

您已声明您的表单类型为Form而不是Form3:

using (Form frm = new Form3())

和作为类Form没有属性ReturnValue1你得到的错误。因为Form3Form的子类,所以可以将其赋值给Form类型的变量,而不需要进行任何类型转换。如果反过来,编译器会告诉你需要强制类型转换。

你的代码应该是:

using (Form3 frm = new Form3())

或者(我更喜欢):

using (var frm = new Form3())

那么它将永远是正确的类型,并且如果您将来决定使用不同的形式,您不必记得在两个地方更改类名。