RichTextBox.SaveFile Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Uloží obsah objektu RichTextBox do souboru.
Přetížení
SaveFile(Stream, RichTextBoxStreamType) |
Uloží obsah RichTextBox ovládacího prvku do otevřeného datového streamu. |
SaveFile(String, RichTextBoxStreamType) |
Uloží obsah souboru RichTextBox do určitého typu souboru. |
SaveFile(String) |
Uloží obsah objektu RichTextBox do souboru rtf (RTF). |
SaveFile(Stream, RichTextBoxStreamType)
Uloží obsah RichTextBox ovládacího prvku do otevřeného datového streamu.
public:
void SaveFile(System::IO::Stream ^ data, System::Windows::Forms::RichTextBoxStreamType fileType);
public void SaveFile (System.IO.Stream data, System.Windows.Forms.RichTextBoxStreamType fileType);
member this.SaveFile : System.IO.Stream * System.Windows.Forms.RichTextBoxStreamType -> unit
Public Sub SaveFile (data As Stream, fileType As RichTextBoxStreamType)
Parametry
- data
- Stream
Datový proud, který obsahuje soubor, do kterého se má uložit.
- fileType
- RichTextBoxStreamType
Jedna z RichTextBoxStreamType hodnot.
Výjimky
V parametru fileType
je zadán neplatný typ souboru.
Při ukládání obsahu ovládacího prvku do souboru dojde k chybě.
Příklady
Následující příklad kódu ukazuje použití SaveFile metod a LoadFile s datovými proudy. Ukazuje také použití FileDialog.FileNamečlenů , FileDialog.DefaultExt, SaveFileDialog.CreatePrompta SaveFileDialog.OverwritePrompt .
Toto je kompletní příklad, který je připravený ke spuštění, když ho zkopírujete do projektu.
using namespace System;
using namespace System::Drawing;
using namespace System::IO;
using namespace System::Windows::Forms;
public ref class Form1: public Form
{
public private:
RichTextBox^ RichTextBox1;
Button^ Button1;
RichTextBox^ RichTextBox2;
Button^ Button2;
SaveFileDialog^ SaveFileDialog1;
public:
Form1()
: Form()
{
userInput = gcnew MemoryStream;
this->RichTextBox1 = gcnew RichTextBox;
this->Button1 = gcnew Button;
this->RichTextBox2 = gcnew RichTextBox;
this->Button2 = gcnew Button;
this->SaveFileDialog1 = gcnew SaveFileDialog;
this->SuspendLayout();
this->RichTextBox1->Location = Point( 24, 64 );
this->RichTextBox1->Name = "RichTextBox1";
this->RichTextBox1->TabIndex = 0;
this->RichTextBox1->Text = "Type something here.";
this->Button1->Location = Point( 96, 16 );
this->Button1->Name = "Button1";
this->Button1->Size = Size( 96, 24 );
this->Button1->TabIndex = 1;
this->Button1->Text = "Save To Stream";
this->Button1->Click +=
gcnew EventHandler( this, &Form1::Button1_Click );
this->RichTextBox2->Location = Point( 152, 64 );
this->RichTextBox2->Name = "RichTextBox2";
this->RichTextBox2->TabIndex = 3;
this->RichTextBox2->Text = "It will be added to the stream "
"and appear here.";
this->Button2->Location = Point( 104, 200 );
this->Button2->Name = "Button2";
this->Button2->Size = Size( 88, 32 );
this->Button2->TabIndex = 4;
this->Button2->Text = "Save Stream To File";
this->Button2->Click +=
gcnew EventHandler( this, &Form1::Button2_Click );
this->ClientSize = Size( 292, 266 );
this->Controls->Add( this->Button2 );
this->Controls->Add( this->RichTextBox2 );
this->Controls->Add( this->Button1 );
this->Controls->Add( this->RichTextBox1 );
this->Name = "Form1";
this->Text = "Form1";
this->ResumeLayout( false );
}
// Declare a new memory stream.
MemoryStream^ userInput;
private:
// Save the content of RichTextBox1 to the memory stream,
// appending a LineFeed character.
void Button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
RichTextBox1->SaveFile( userInput, RichTextBoxStreamType::PlainText );
userInput->WriteByte( 13 );
// Display the entire contents of the stream,
// by setting its position to 0, to RichTextBox2.
userInput->Position = 0;
RichTextBox2->LoadFile( userInput, RichTextBoxStreamType::PlainText );
}
// Shows the use of a SaveFileDialog to save a MemoryStream to a file.
void Button2_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
// Set the properties on SaveFileDialog1 so the user is
// prompted to create the file if it doesn't exist
// or overwrite the file if it does exist.
SaveFileDialog1->CreatePrompt = true;
SaveFileDialog1->OverwritePrompt = true;
// Set the file name to myText.txt, set the type filter
// to text files, and set the initial directory to the
// MyDocuments folder.
SaveFileDialog1->FileName = "myText";
// DefaultExt is only used when "All files" is selected from
// the filter box and no extension is specified by the user.
SaveFileDialog1->DefaultExt = "txt";
SaveFileDialog1->Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
SaveFileDialog1->InitialDirectory =
Environment->GetFolderPath(Environment::SpecialFolder::MyDocuments);
// Call ShowDialog and check for a return value of DialogResult.OK,
// which indicates that the file was saved.
DialogResult result = SaveFileDialog1->ShowDialog();
Stream^ fileStream;
if ( result == DialogResult::OK )
{
fileStream = SaveFileDialog1->OpenFile();
userInput->Position = 0;
userInput->WriteTo( fileStream );
fileStream->Close();
}
}
};
int main()
{
Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
public partial class Form1: Form
{
internal RichTextBox RichTextBox1;
internal Button Button1;
internal RichTextBox RichTextBox2;
internal Button Button2;
internal SaveFileDialog SaveFileDialog1;
public Form1() : base()
{
this.RichTextBox1 = new RichTextBox();
this.Button1 = new Button();
this.RichTextBox2 = new RichTextBox();
this.Button2 = new Button();
this.SaveFileDialog1 = new SaveFileDialog();
this.SuspendLayout();
this.RichTextBox1.Location = new Point(24, 64);
this.RichTextBox1.Name = "RichTextBox1";
this.RichTextBox1.TabIndex = 0;
this.RichTextBox1.Text = "Type something here.";
this.Button1.Location = new Point(96, 16);
this.Button1.Name = "Button1";
this.Button1.Size = new Size(96, 24);
this.Button1.TabIndex = 1;
this.Button1.Text = "Save To Stream";
this.Button1.Click += new EventHandler(Button1_Click);
this.RichTextBox2.Location = new Point(152, 64);
this.RichTextBox2.Name = "RichTextBox2";
this.RichTextBox2.TabIndex = 3;
this.RichTextBox2.Text =
"It will be added to the stream and appear here.";
this.Button2.Location = new Point(104, 200);
this.Button2.Name = "Button2";
this.Button2.Size = new Size(88, 32);
this.Button2.TabIndex = 4;
this.Button2.Text = "Save Stream To File";
this.Button2.Click += new EventHandler(Button2_Click);
this.ClientSize = new Size(292, 266);
this.Controls.Add(this.Button2);
this.Controls.Add(this.RichTextBox2);
this.Controls.Add(this.Button1);
this.Controls.Add(this.RichTextBox1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
public static void Main()
{
Application.Run(new Form1());
}
// Declare a new memory stream.
MemoryStream userInput = new MemoryStream();
// Save the content of RichTextBox1 to the memory stream,
// appending a LineFeed character.
private void Button1_Click(Object sender, EventArgs e)
{
RichTextBox1.SaveFile(userInput, RichTextBoxStreamType.PlainText);
userInput.WriteByte(13);
// Display the entire contents of the stream,
// by setting its position to 0, to RichTextBox2.
userInput.Position = 0;
RichTextBox2.LoadFile(userInput, RichTextBoxStreamType.PlainText);
}
// Shows the use of a SaveFileDialog to save a MemoryStream to a file.
private void Button2_Click(Object sender, EventArgs e)
{
// Set the properties on SaveFileDialog1 so the user is
// prompted to create the file if it doesn't exist
// or overwrite the file if it does exist.
SaveFileDialog1.CreatePrompt = true;
SaveFileDialog1.OverwritePrompt = true;
// Set the file name to myText.txt, set the type filter
// to text files, and set the initial directory to the
// MyDocuments folder.
SaveFileDialog1.FileName = "myText";
// DefaultExt is only used when "All files" is selected from
// the filter box and no extension is specified by the user.
SaveFileDialog1.DefaultExt = "txt";
SaveFileDialog1.Filter =
"Text files (*.txt)|*.txt|All files (*.*)|*.*";
SaveFileDialog1.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
// Call ShowDialog and check for a return value of DialogResult.OK,
// which indicates that the file was saved.
DialogResult result = SaveFileDialog1.ShowDialog();
Stream fileStream;
if (result == DialogResult.OK)
{
// Open the file, copy the contents of memoryStream to fileStream,
// and close fileStream. Set the memoryStream.Position value to 0
// to copy the entire stream.
fileStream = SaveFileDialog1.OpenFile();
userInput.Position = 0;
userInput.WriteTo(fileStream);
fileStream.Close();
}
}
}
Imports System.Drawing
Imports System.IO
Imports System.Windows.Forms
Partial Public Class Form1
Inherits Form
Friend WithEvents RichTextBox1 As RichTextBox
Friend WithEvents Button1 As Button
Friend WithEvents RichTextBox2 As RichTextBox
Friend WithEvents Button2 As Button
Friend WithEvents SaveFileDialog1 As SaveFileDialog
Public Sub New()
MyBase.New()
Me.RichTextBox1 = New RichTextBox
Me.Button1 = New Button
Me.RichTextBox2 = New RichTextBox
Me.Button2 = New Button
Me.SaveFileDialog1 = New SaveFileDialog
Me.SuspendLayout()
Me.RichTextBox1.Location = New Point(24, 64)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.TabIndex = 0
Me.RichTextBox1.Text = "Type something here."
Me.Button1.Location = New Point(96, 16)
Me.Button1.Name = "Button1"
Me.Button1.Size = New Size(96, 24)
Me.Button1.TabIndex = 1
Me.Button1.Text = "Save To Stream"
Me.RichTextBox2.Location = New Point(152, 64)
Me.RichTextBox2.Name = "RichTextBox2"
Me.RichTextBox2.TabIndex = 3
Me.RichTextBox2.Text = "It will be added to the stream and appear here."
Me.Button2.Location = New Point(104, 200)
Me.Button2.Name = "Button2"
Me.Button2.Size = New Size(88, 32)
Me.Button2.TabIndex = 4
Me.Button2.Text = "Save Stream To File"
Me.ClientSize = New Size(292, 266)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.RichTextBox2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.RichTextBox1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
Public Shared Sub Main()
Application.Run(New Form1)
End Sub
' Declare a new memory stream.
Dim userInput As New MemoryStream
' Save the content of RichTextBox1 to the memory stream, appending
'a LineFeed character.
Private Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles Button1.Click
RichTextBox1.SaveFile(userInput, RichTextBoxStreamType.PlainText)
userInput.WriteByte(13)
' Display the entire contents of the stream,
' by setting its position to 0, to RichTextBox2.
userInput.Position = 0
RichTextBox2.LoadFile(userInput, RichTextBoxStreamType.PlainText)
End Sub
' Shows the use of a SaveFileDialog to save a MemoryStream to a file.
Private Sub Button2_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles Button2.Click
' Set the properties on SaveFileDialog1 so the user is
' prompted to create the file if it doesn't exist
' or overwrite the file if it does exist.
SaveFileDialog1.CreatePrompt = True
SaveFileDialog1.OverwritePrompt = True
' Set the file name to myText.txt, set the type filter
' to text files, and set the initial directory to the
' MyDocuments folder.
SaveFileDialog1.FileName = "myText"
' DefaultExt is only used when "All files" is selected from
' the filter box and no extension is specified by the user.
SaveFileDialog1.DefaultExt = "txt"
SaveFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
SaveFileDialog1.InitialDirectory = _
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
' Call ShowDialog and check for a return value of DialogResult.OK,
' which indicates that the file was saved.
Dim result As DialogResult = SaveFileDialog1.ShowDialog()
Dim fileStream As Stream
If (result = DialogResult.OK) Then
' Open the file, copy the contents of memoryStream to fileStream,
' and close fileStream. Set the memoryStream.Position value to 0 to
' copy the entire stream.
fileStream = SaveFileDialog1.OpenFile()
userInput.Position = 0
userInput.WriteTo(fileStream)
fileStream.Close()
End If
End Sub
End Class
Poznámky
Tato verze SaveFile metody umožňuje uložit celý obsah ovládacího prvku do datového proudu, který je již otevřen. Datový proud pak může informace uložit do souboru. K načtení obsahu souboru do objektu LoadFile můžete použít metodu RichTextBox.
Tato verze SaveFile metody také umožňuje určit formát dat informací, které budou odeslány do objektu Stream .
Viz také
Platí pro
SaveFile(String, RichTextBoxStreamType)
Uloží obsah souboru RichTextBox do určitého typu souboru.
public:
void SaveFile(System::String ^ path, System::Windows::Forms::RichTextBoxStreamType fileType);
public void SaveFile (string path, System.Windows.Forms.RichTextBoxStreamType fileType);
member this.SaveFile : string * System.Windows.Forms.RichTextBoxStreamType -> unit
Public Sub SaveFile (path As String, fileType As RichTextBoxStreamType)
Parametry
- path
- String
Název a umístění souboru, který se má uložit.
- fileType
- RichTextBoxStreamType
Jedna z RichTextBoxStreamType hodnot.
Výjimky
V parametru fileType
je zadán neplatný typ souboru.
Při ukládání obsahu ovládacího prvku do souboru dojde k chybě.
Příklady
Následující příklad kódu uloží obsah RichTextBox do textového souboru ASCII. V příkladu SaveFileDialog se třída používá k zobrazení dialogového okna s žádostí o cestu a název souboru od uživatele. Kód pak uloží obsah ovládacího prvku do tohoto souboru. Příklad používá tuto verzi SaveFile metody k určení, že soubor má být uložen jako textový soubor ASCII namísto standardního formátu RTF. Tento příklad vyžaduje, aby byl kód umístěn ve Form třídě, která má RichTextBox ovládací prvek s názvem richTextBox1
.
public:
void SaveMyFile()
{
// Create a SaveFileDialog to request a path and file name to save to.
SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;
// Initialize the SaveFileDialog to specify the RTF extension for the file.
saveFile1->DefaultExt = "*.rtf";
saveFile1->Filter = "RTF Files|*.rtf";
// Determine if the user selected a file name from the saveFileDialog.
if ( saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
saveFile1->FileName->Length > 0 )
{
// Save the contents of the RichTextBox into the file.
richTextBox1->SaveFile( saveFile1->FileName, RichTextBoxStreamType::PlainText );
}
}
public void SaveMyFile()
{
// Create a SaveFileDialog to request a path and file name to save to.
SaveFileDialog saveFile1 = new SaveFileDialog();
// Initialize the SaveFileDialog to specify the RTF extension for the file.
saveFile1.DefaultExt = "*.rtf";
saveFile1.Filter = "RTF Files|*.rtf";
// Determine if the user selected a file name from the saveFileDialog.
if(saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile1.FileName.Length > 0)
{
// Save the contents of the RichTextBox into the file.
richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText);
}
}
Public Sub SaveMyFile()
' Create a SaveFileDialog to request a path and file name to save to.
Dim saveFile1 As New SaveFileDialog()
' Initialize the SaveFileDialog to specify the RTF extension for the file.
saveFile1.DefaultExt = "*.rtf"
saveFile1.Filter = "RTF Files|*.rtf"
' Determine if the user selected a file name from the saveFileDialog.
If (saveFile1.ShowDialog() = System.Windows.Forms.DialogResult.OK) _
And (saveFile1.FileName.Length) > 0 Then
' Save the contents of the RichTextBox into the file.
richTextBox1.SaveFile(saveFile1.FileName, _
RichTextBoxStreamType.PlainText)
End If
End Sub
Poznámky
Metoda SaveFile umožňuje uložit celý obsah ovládacího prvku do souboru RTF, který mohou být použity v jiných aplikacích, například Microsoft Word a Windows WordPad. Pokud název souboru předaný parametru path
již v zadaném adresáři existuje, soubor se bez předchozího upozornění přepíše. K načtení obsahu souboru do objektu LoadFile můžete použít metodu RichTextBox.
Tato verze SaveFile metody umožňuje určit typ souboru pro uložení obsahu ovládacího prvku do. Pomocí této funkce můžete zajistit, aby byl soubor uložen ve správném formátu na základě obsahu ovládacího prvku. Pokud například dokument neobsahuje žádné rozdíly ve stylu nebo obarvení písma, můžete soubor uložit jako textový soubor ASCII nastavením parametru fileType
na RichTextBoxStreamType.PlainText
hodnotu .
Viz také
Platí pro
SaveFile(String)
Uloží obsah objektu RichTextBox do souboru rtf (RTF).
public:
void SaveFile(System::String ^ path);
public void SaveFile (string path);
member this.SaveFile : string -> unit
Public Sub SaveFile (path As String)
Parametry
- path
- String
Název a umístění souboru, který se má uložit.
Výjimky
Při ukládání obsahu ovládacího prvku do souboru dojde k chybě.
Příklady
Následující příklad kódu uloží obsah RichTextBox ovládacího prvku do souboru RTF. V příkladu SaveFileDialog se třída používá k zobrazení dialogového okna pro požadavek od uživatele, cestu a název souboru k uložení. Kód pak soubor uloží za předpokladu, že je obsah ve formátu RTF. Pokud už soubor existuje, automaticky se přepíše. Tento příklad vyžaduje, aby byl kód umístěn ve Form třídě, která má RichTextBox ovládací prvek s názvem richTextBox1
.
public:
void SaveMyFile()
{
// Create a SaveFileDialog to request a path and file name to save to.
SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;
// Initialize the SaveFileDialog to specify the RTF extention for the file.
saveFile1->DefaultExt = "*.rtf";
saveFile1->Filter = "RTF Files|*.rtf";
// Determine whether the user selected a file name from the saveFileDialog.
if ( saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&
saveFile1->FileName->Length > 0 )
{
// Save the contents of the RichTextBox into the file.
richTextBox1->SaveFile( saveFile1->FileName );
}
}
public void SaveMyFile()
{
// Create a SaveFileDialog to request a path and file name to save to.
SaveFileDialog saveFile1 = new SaveFileDialog();
// Initialize the SaveFileDialog to specify the RTF extention for the file.
saveFile1.DefaultExt = "*.rtf";
saveFile1.Filter = "RTF Files|*.rtf";
// Determine whether the user selected a file name from the saveFileDialog.
if(saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile1.FileName.Length > 0)
{
// Save the contents of the RichTextBox into the file.
richTextBox1.SaveFile(saveFile1.FileName);
}
}
Public Sub SaveMyFile()
' Create a SaveFileDialog to request a path and file name to save to.
Dim saveFile1 As New SaveFileDialog()
' Initialize the SaveFileDialog to specify the RTF extention for the file.
saveFile1.DefaultExt = "*.rtf"
saveFile1.Filter = "RTF Files|*.rtf"
' Determine whether the user selected a file name from the saveFileDialog.
If (saveFile1.ShowDialog() = System.Windows.Forms.DialogResult.OK) _
And (saveFile1.FileName.Length > 0) Then
' Save the contents of the RichTextBox into the file.
richTextBox1.SaveFile(saveFile1.FileName)
End If
End Sub
Poznámky
Metoda SaveFile umožňuje uložit celý obsah ovládacího prvku do souboru RTF, který mohou být použity v jiných aplikacích, například Microsoft Word a Windows WordPad. Pokud název souboru předaný parametru path
již v zadaném adresáři existuje, soubor se bez předchozího upozornění přepíše. K načtení obsahu souboru do objektu LoadFile můžete použít metodu RichTextBox.
Poznámka
Chcete-li uložit obsah ovládacího prvku do jiného typu formátu souboru, například text ASCII, použijte jiné verze této metody, které přijímají hodnotu z výčtu RichTextBoxStreamType jako parametr.