Procedimiento para guardar archivos con el control RichTextBox de formularios Windows Forms

El control RichTextBox de Windows Forms puede escribir la información que muestra en uno de varios formatos:

  • Texto sin formato

  • Texto sin formato Unicode

  • Formato de texto enriquecido (RTF)

  • RTF con espacios en lugar de objetos OLE

  • Texto sin formato con una representación textual de objetos OLE

Para guardar un archivo, llame al método SaveFile. También puede usar el método SaveFile para guardar datos en una secuencia. Para obtener más información, vea SaveFile(Stream, RichTextBoxStreamType).

Para guardar el contenido del control en un archivo

  1. Determine la ruta de acceso del archivo que se va a guardar.

    Para hacerlo en una aplicación real, normalmente habría que usar el componente SaveFileDialog. Para obtener información general al respecto, vea Información general sobre el componente SaveFileDialog.

  2. Llame al método SaveFile del control RichTextBox especificando el archivo que se va a guardar y, si quiere, un tipo de archivo. Si llama al método con un nombre de archivo como único argumento, el archivo se guardará como RTF. Para especificar otro tipo de archivo, llame al método con un valor de la enumeración RichTextBoxStreamType como segundo argumento.

    En el ejemplo siguiente, la ruta de acceso establecida para la ubicación del archivo de texto es la carpeta Mis documentos. Se usa esta ubicación porque cabe suponer que la mayoría de los equipos que ejecuten el sistema operativo Windows tendrán esta carpeta. Elegir esta ubicación también permite a los usuarios con niveles mínimos de acceso al sistema ejecutar la aplicación de forma segura. En el ejemplo siguiente se da por supuesto que hay un formulario con un control RichTextBox ya agregado.

    Public Sub SaveFile()
       ' You should replace the bold file name in the
       ' sample below with a file name of your own choosing.
       RichTextBox1.SaveFile(System.Environment.GetFolderPath _
       (System.Environment.SpecialFolder.Personal) _
       & "\Testdoc.rtf", _
          RichTextBoxStreamType.RichNoOleObjs)
    End Sub
    
    public void SaveFile()
    {
       // You should replace the bold file name in the
       // sample below with a file name of your own choosing.
       // Note the escape character used (@) when specifying the path.
       richTextBox1.SaveFile(System.Environment.GetFolderPath
       (System.Environment.SpecialFolder.Personal)
       + @"\Testdoc.rtf",
          RichTextBoxStreamType.RichNoOleObjs);
    }
    
    public:
       void SaveFile()
       {
          // You should replace the bold file name in the
          // sample below with a file name of your own choosing.
          richTextBox1->SaveFile(String::Concat
             (System::Environment::GetFolderPath
             (System::Environment::SpecialFolder::Personal),
             "\\Testdoc.rtf"), RichTextBoxStreamType::RichNoOleObjs);
       }
    

    Importante

    En este ejemplo se crea un nuevo archivo, si este no existe aún. Si una aplicación necesita crear un archivo, necesitará acceso de creación en la carpeta. Los permisos se establecen usando listas de control de acceso. Si el archivo ya existe, la aplicación necesitará solo acceso de escritura, un privilegio menor. Siempre que sea posible, resulta más seguro crear el archivo durante la implementación y conceder solo acceso de lectura en un único archivo, en lugar de acceso de escritura en una carpeta. Además, es más seguro escribir datos en carpetas de usuario que en la carpeta raíz o en la carpeta Archivos de programa.

Consulte también