C#父母-子女表格
我有一个主窗口(MainWindow.cs)窗体,其中包含一个面板(pnlChild),我创建了一个新控件,将我的第二个窗体(Settings.cs)+控件添加到面板:C#父母-子女表格,c#,.net,visual-studio,C#,.net,Visual Studio,我有一个主窗口(MainWindow.cs)窗体,其中包含一个面板(pnlChild),我创建了一个新控件,将我的第二个窗体(Settings.cs)+控件添加到面板: Settings settings = new Settings() { Dock = DockStyle.Fill, TopLevel = false }; settings.FormBorderStyle = FormBorderStyle.None; pnlChild.Controls.Add(settings); set
Settings settings = new Settings() { Dock = DockStyle.Fill, TopLevel = false };
settings.FormBorderStyle = FormBorderStyle.None;
pnlChild.Controls.Add(settings);
settings.Show();
这很好,我的设置表单中也有相同的设置,它还包含一个面板“pnlChild”,一个包含“外观”的子表单(Appearance.cs)
问题:当我按下外观子窗体中的按钮时,如何将文本/更新文本更改为“设置”和/或“主”窗体?这里有一个解决方法,您可以参考。在这个演示中,我在
MainWindows
和Settings
中添加了名为tbMain
和tbSettings
的文本框
public TextBox TBS
{
get { return tbSettings; }
set { tbSettings = value; }
}
首先,在MainWindow.cs
中定义一个属性以访问tbMain
public TextBox TBM
{
get { return tbMain; }
set { tbMain = value; }
}
并在Settings.cs
中定义属性以访问tbSettings
public TextBox TBS
{
get { return tbSettings; }
set { tbSettings = value; }
}
然后我们可以使用来获取MainWindows
和Settings
实例。并通过前面定义的属性修改textbox值
private void btInAppearance_Click(object sender, EventArgs e)
{
Settings settings = (Settings)Application.OpenForms["Settings"];
settings.TBS.Text = "TextInSettings";
MainWindow main = (MainWindow)Application.OpenForms["MainWindow"];
main.TBM.Text = "TextInMainWindow";
}