如何将C# objects 传递给另一个窗体并使其成为该窗体的标题?

How to pass C# objects into another form and make it the title of this form?

我正在使用两种形式。一个是登录表单,另一个是详细信息表单。我正在尝试将从登录获得的 objects 传递给详细信息,例如用户名和 ID#,以便在按下回车按钮时,详细信息表单会加载问候语,“你好 [用户名 + id #]! 在表格的标题栏。

这就是我开始的---

表格 1:

public partial class Login : Form
{
        //Auto-Impl Properties
        private Details de = new Details();
private void Login_Click(object sender, EventArgs e)
{
            GetInputs();
            //validate inputs
            de.ShowDialog(); //display the 2nd form
}

2nd form:

public partial class Details : Form
{
        public string Fname { get; set; }
        public string Lname { get; set; }
        public string Unum { get; set; }



        public Details()
        {
            InitializeComponent();           
        }

        private void Details_Load(object sender, EventArgs e)
        {

        }
}

我还要说明一下Program.cs设置为运行登录

此代码在按下回车按钮后加载第二个表单,但当然不会传递来自表单 1 的 objects。

您知道可以向表单的构造函数添加参数吗?

public Details(string userName)
{
    InitializeComponent();           
    // set the title here
}

您可以在获得登录数据并在构造函数中传递名称后创建详细信息表单:

GetInputs();
// validate inputs
de = new Details("name");
de.ShowDialog();