Compartilhar via


Como salvar arquivos com o controle RichTextBox dos Windows Forms

O controle Windows Forms RichTextBox pode gravar as informações exibidas em um dos vários formatos:

  • Texto sem formatação

  • Texto sem formatação Unicode

  • RTF (Formato Rich Text)

  • RTF com espaços em vez de objetos OLE

  • Texto sem formatação com uma representação textual de objetos OLE

Para salvar um arquivo, chame o SaveFile método. Você também pode usar o método SaveFile para salvar dados em um fluxo. Para obter mais informações, consulte SaveFile(Stream, RichTextBoxStreamType).

Para salvar o conteúdo do controle em um arquivo

  1. Determine o caminho do arquivo a ser salvo.

    Para fazer isso em um aplicativo do mundo real, você normalmente usaria o SaveFileDialog componente. Para obter uma visão geral, consulte Visão geral do componente SaveFileDialog.

  2. Chame o SaveFileRichTextBox método do controle, especificando o arquivo a ser salvo e, opcionalmente, um tipo de arquivo. Se você chamar o método com um nome de arquivo como seu único argumento, o arquivo será salvo como RTF. Para especificar outro tipo de arquivo, chame RichTextBoxStreamType o método com um valor da enumeração como seu segundo argumento.

    No exemplo de código a seguir, o caminho definido para o do arquivo rich-text é a pasta Meus documentos. Esse local é usado porque você pode supor que a maioria dos computadores que executam o sistema operacional Windows incluem essa pasta. Escolher esse local também permite que os usuários com níveis mínimos de acesso ao sistema executem com mais segurança o aplicativo. O exemplo abaixo pressupõe um formulário com um RichTextBox controle já adicionado.

    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

    Este exemplo cria um novo arquivo, se o arquivo ainda não existe. Se um aplicativo precisar criar um arquivo, essa aplicativo precisará de acesso Criar para a pasta. As permissões são definidas usando listas de controle de acesso. Se o arquivo já existir, o aplicativo precisará apenas de acesso Gravar, um privilégio menor. Sempre que possível, é mais seguro criar o arquivo durante a implantação e somente conceder acesso de leitura a um único arquivo, em vez de acesso Criar a uma pasta. Além disso, é mais seguro gravar dados em pastas de usuário do que na pasta raiz ou na pasta Arquivos de Programas.

Confira também