2017-02-04 54 views
0

在表单上,​​我有很多richtextboxes。当表单加载时,我想用txt文件中的文本填充richTextBoxes。对于每个richTextBox,我都有一个文本文件,并且该文件的名称与richTextBox名称相同。 我试过这个,但它不工作,因为一个组件没有loadfile函数?获取所有richTextBoxes并加载具有相同名称的文本文件

如何在加载表单时将大量文件加载到不同的richtextBox中?

private void getAllRichTextboxen(string aFileName) 
     { 
      foreach(Control item in this.Controls) 
      { 
       if (item is GroupBox) //first get the groupboxes, all the richTextBoxes are within a groupBox 
       { 
        foreach (Control aControl in item.Controls) 
        { 
         if (aControl is RichTextBox) //check if it is a richTextBox 
         { 
          if (aControl.Name == aFileName) //if the controle name = the same as the file name then load the file into the RichTextBox 
          { 
           aControl.LoadFile(Settings.applicatiePad + Form_Main.QueryMap + "\\" + aFileName + ".agq", RichTextBoxStreamType.PlainText)); 

           //richTextBox1.LoadFile(openFile1.FileName, RichTextBoxStreamType.PlainText); 

          } 
         } 
        } 
       } 
      } 
     } 

回答

1

只需简单地选择与类型RichTextBox的所有控件,并设置其Text属性:

foreach(RichTextBox r in this.Controls.OfType<RichTextBox>()) 
    r.Text = File.ReadAllText(Settings.applicatiePad + Form_Main.QueryMap + "\\" + aFileName + ".agq"); 
0

我不明白这一点。该foreach没有找到richtextbox。 richtextbox的位置是tabcontrol-> tabcontrol-> groupbox-> richtextbox。 foreach只发现第一个tabcontrol。

有没有办法找到窗体上的所有组件?

相关问题