C#如何将richTextBox的值添加到第二个表单中

时间:2013-08-29 09:43:40

标签: c# winforms forms file-io get

我写程序。这是简单的编辑器linke Notepad,在主窗体中创建了新的表单,我不知道如何在子表单中的richTextField中获取和设置值。单击新建文件程序时使用trah功能。

private void NewWindow()
{
     Form2 f2 = new Form2();
     f2.MdiParent = this;
     f2.Text = "Document " + WindowNumber.ToString();
     WindowNumber++;
     f2.Show();
 }

当我有很多打开的窗口时,我无法在每个窗口中找到richTextBox。

怎么做?

2 个答案:

答案 0 :(得分:0)

通常,控件会添加到带有受保护访问修饰符的表单中。然后,要从外部获取它们的值,您需要在每个表单上创建一个公共属性以显示文本。

public string RichText{
    get{ return myTextBox.Text;}
}

答案 1 :(得分:0)

如果您希望父表单编辑子项,或者反过来,我就无法理解。

如果您希望父级能够编辑子级,那么子级应该公开像Oscar示例的方法来编辑RichTextBox,父级应该将子级保存在某处:

List<Form2> frm = new List<Form2>();
private void NewWindow()
{
     Form2 f2 = new Form2();
     f2.MdiParent = this;
     f2.Text = "Document " + WindowNumber.ToString();
     WindowNumber++;
     f2.Show();
     frm.Add(f2);
}

如果孩子应该编辑父母,你有几种方法可以做到。可能是最好的一个是使用事件:

  public delegate void EditHandler();
  public event EditHandler edit;