我正在处理我的第一个应用程序,我正在使用带有c#语言的VS2017。
我正在努力尝试从另一个表单更改面板内的文本框文本。 我有一个Main_Form有两个面板。 第一个面板是我的“Main_Panel”,我用它来展示很多其他形式。 第二个面板是我的“Info_Panel”,它包含一个用于打印DateTime的文本框,另一个包含我的Main_Panel中实际表单标题的title_textbox。 到目前为止,我在Some_Form_load中尝试了这个程序:
private void Some_Form_Load(object sender, EventArgs e)
{
MainForm f1 = new MainForm();
f1.Title_Textbox.Text = "Some_Form";
}
但没有任何反应,可能是因为我的title_textbox是我的“Info_Panel”。 我在这个问题上被困了几个小时,非常感谢你的帮助。
答案 0 :(得分:0)
您正在创建新实例并进行更改。你需要改变另一个。这是对它应该如何工作的粗略测试。
private void Some_Form_Load(object sender, EventArgs e)
{
MainForm f1 = Application.OpenForms.OfType<MainFrm>().FirstOrDefault();
f1?.Title_Textbox.Text = "Some_Form";
}
这是一个快速的写作,未经测试,但它应该适用于您所需的。
编辑:所有这一切都是在打开的应用程序列表中获取所有MainFrm,然后选择第一个。然后它将其存储在变量中,您可以引用该变量以获得所需的表单:)