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

  1. 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ış.

  2. 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 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);
       }
    

    Ö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.

Ayrıca bkz.