Nasıl yapılır: Windows Forms RichTextBox Denetimi Dosyaları Kaydetme
Windows Forms RichTextBox denetimi, görüntülenen bilgileri birkaç biçimden birinde yazabilir:
Düz metin
Unicode düz metin
Rich-Text biçimi (RTF)
OLE nesneleri yerine boşluklar içeren RTF
OLE nesnelerinin metinsel gösterimine sahip düz metin
Bir dosyayı kaydetmek için SaveFile yöntemini çağırın. Verileri bir akışa kaydetmek için SaveFile yöntemini de kullanabilirsiniz. Daha fazla bilgi için bkz. SaveFile(Stream, RichTextBoxStreamType).
Denetimin içeriğini bir dosyaya kaydetmek için
Kaydedilecek dosyanın yolunu belirleme.
Bunu gerçek dünya uygulamasında yapmak için genellikle SaveFileDialog bileşenini kullanırsınız. Genel bakış için bkz. SaveFileDialog Bileşenine Genel Bakış.
SaveFileRichTextBox Kaydedilecek dosyayı ve isteğe bağlı olarak bir dosya türünü belirterek denetimin yöntemini çağırın. Yöntemini tek bağımsız değişkeni olarak bir dosya adı ile çağırırsanız, Dosya RTF olarak kaydedilir. Başka bir dosya türü belirtmek için, RichTextBoxStreamType ikinci bağımsız değişkeni olarak numaralandırmanın bir değeriyle yöntemi çağırın.
Aşağıdaki örnekte, zengin metin dosyasının konumu için ayarlanan yol Belgelerim klasörüdür. bu konum, Windows işletim sistemini çalıştıran bilgisayarların çoğunun bu klasörü içerdiğini varsaydığı için kullanılır. Bu konumun seçilmesi, en az sistem erişim düzeylerine sahip kullanıcıların uygulamayı güvenle çalıştırmasına olanak tanır. Aşağıdaki örnekte, bir RichTextBox denetimin zaten eklendiği bir form varsayılır.
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 Subpublic 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); }Önemli
Bu örnek, dosya zaten yoksa yeni bir dosya oluşturur. Uygulamanın bir dosya oluşturması gerekiyorsa, bu uygulamanın klasör için erişim oluşturması gerekir. İzinler, erişim denetim listeleri kullanılarak ayarlanır. Dosya zaten mevcutsa, uygulamanın daha küçük bir ayrıcalık yalnızca yazma erişimine ihtiyacı vardır. Mümkün olduğunda, dağıtım sırasında dosyanın oluşturulması ve bir klasör için erişim oluşturmak yerine yalnızca tek bir dosyaya okuma erişimi verilmesi daha güvenlidir. Ayrıca, Kullanıcı klasörlerine veri yazmak, kök klasör veya Program Files klasöründen daha güvenlidir.