代码之家  ›  专栏  ›  技术社区  ›  lawir

如何将面板内的文本框文本从另一个面板内的其他窗体更改为其他窗体

  •  -2
  • lawir  · 技术社区  · 7 年前

    我正在开发我的第一个应用程序,我正在使用VS2017和c#语言。

    我正在努力尝试将面板中的文本框文本从另一个表单更改为其他表单,但没有成功。 我有一个Main\u表单,它有两个面板。 第一个面板是我的“Main\u面板”,我用它来显示许多其他表单。 第二个面板是我的“Info\u面板”,它包含一个用于打印日期时间的文本框,以及另一个title\u文本框,其中包含我的主面板中实际表单的标题。 到目前为止,我在Some\u Form\u load中尝试了此程序:

         private void Some_Form_Load(object sender, EventArgs e) 
         {
           MainForm f1 = new MainForm();
           f1.Title_Textbox.Text = "Some_Form";
         }
    

    但什么都没发生,可能是因为我的title\u文本框是我的“Info\u面板”。 我在这个问题上被困了好几个小时,如果能帮上忙,我将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Sasha    7 年前

    您正在创建一个新实例并对其进行更改。你需要换另一个。这是对它应该如何工作的粗略测试。

     private void Some_Form_Load(object sender, EventArgs e) 
     {
       MainForm f1 = Application.OpenForms.OfType<MainFrm>().FirstOrDefault();
       f1?.Title_Textbox.Text = "Some_Form";
     }
    

    这是一个快速编写程序,未经测试,但它应该可以满足您的需要。

    编辑:这所做的只是获取打开的应用程序列表中的所有MainFrm,然后选择第一个。然后将其存储在变量中,您可以引用该变量以获得所需的表单:)

    推荐文章