我通过工具条打开另一个表单,输入Mainform中需要的用户名(并在Mainform中声明为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;
}
}
}
表格3的代码:
public string ReturnValue1 {
get
{
return textBox1.Text;
}
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
C#告诉我没有frm.ReturnValue1 :(
答案 0 :(得分:5)
您已将表单声明为Form
而不是Form3
:
using (Form frm = new Form3())
并且由于类Form
没有属性ReturnValue1
,您将收到错误。这是因为Form3
是Form
的子类,因此您可以将其分配给Form
类型的变量,而无需任何强制转换。如果你有它,那么编译器就会告诉你需要一个演员。
您的代码应为:
using (Form3 frm = new Form3())
或者甚至(我的偏好):
using (var frm = new Form3())
然后它将始终是正确的类型,如果您决定将来使用不同的表单,则不必记得在两个地方更改类名。