Partilhar via


Como: Salvar arquivos com o controle RichTextBox do Windows Forms

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

  • Texto simples

  • Texto sem formatação Unicode

  • Formato Rich-Text (RTF)

  • RTF com espaços no lugar de objetos OLE

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

Para salvar um arquivo, chame o método SaveFile. 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 componente SaveFileDialog. Para obter uma visão geral, consulte Visão geral do componente SaveFileDialog .

  2. Chame o método SaveFile do controle RichTextBox, 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 o método com um valor da enumeração RichTextBoxStreamType como seu segundo argumento.

    No exemplo abaixo, o caminho definido para o local do arquivo rich-text é a pasta My Documents. Esse local é usado porque você pode supor que a maioria dos computadores que executam o sistema operacional Windows incluirá essa pasta. Escolher esse local também permite que usuários com níveis mínimos de acesso ao sistema executem o aplicativo com segurança. O exemplo abaixo assume um formulário com um controle RichTextBox 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 existir. Se um aplicativo precisar criar um arquivo, esse aplicativo precisará Criar acesso 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 de gravação, um privilégio menor. Sempre que possível, é mais seguro criar o arquivo durante a implantação e conceder apenas acesso de Leitura a um único arquivo, em vez de Criar acesso para 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.

Ver também