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
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.
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
.NET Desktop feedback