如何从另一个面板内的另一个表单更改面板内的 TextBox 文本
how to change a TextBox text inside a panel from another form that is inside another panel
我正在开发我的第一个应用程序,我正在使用 VS2017 和 c# 语言。
我正在努力尝试从另一个表单更改面板内的文本框文本,但没有成功。
我有一个有两个面板的 Main_Form。
第一个面板是我的 "Main_Panel",我用它来显示很多其他形式。
第二个面板是我的 "Info_Panel",它包含一个用于打印日期时间的文本框,另一个 title_textbox 包含我的 Main_Panel 中实际表格的标题。
到目前为止,我在 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"。
我在这个问题上被困了几个小时,非常感谢您的帮助。
您正在创建一个新实例并对其进行更改。你需要改变你的另一个。这是它应该如何工作的粗略测试。
private void Some_Form_Load(object sender, EventArgs e)
{
MainForm f1 = Application.OpenForms.OfType<MainFrm>().FirstOrDefault();
f1?.Title_Textbox.Text = "Some_Form";
}
这是一篇快速撰写的文章,未经测试,但它应该可以满足您的需要。
编辑:这所做的只是获取打开的应用程序列表中的所有 MainFrm,select 第一个。然后它将其存储在一个变量中,您可以引用该变量来获取您需要的表单:)
我正在开发我的第一个应用程序,我正在使用 VS2017 和 c# 语言。
我正在努力尝试从另一个表单更改面板内的文本框文本,但没有成功。 我有一个有两个面板的 Main_Form。 第一个面板是我的 "Main_Panel",我用它来显示很多其他形式。 第二个面板是我的 "Info_Panel",它包含一个用于打印日期时间的文本框,另一个 title_textbox 包含我的 Main_Panel 中实际表格的标题。 到目前为止,我在 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"。 我在这个问题上被困了几个小时,非常感谢您的帮助。
您正在创建一个新实例并对其进行更改。你需要改变你的另一个。这是它应该如何工作的粗略测试。
private void Some_Form_Load(object sender, EventArgs e)
{
MainForm f1 = Application.OpenForms.OfType<MainFrm>().FirstOrDefault();
f1?.Title_Textbox.Text = "Some_Form";
}
这是一篇快速撰写的文章,未经测试,但它应该可以满足您的需要。
编辑:这所做的只是获取打开的应用程序列表中的所有 MainFrm,select 第一个。然后它将其存储在一个变量中,您可以引用该变量来获取您需要的表单:)