다음을 통해 공유


방법: Windows Forms RichTextBox 컨트롤을 사용하여 파일 저장

Windows Forms RichTextBox 컨트롤은 표시하는 정보를 여러 서식 중 하나로 작성할 수 있습니다.

  • 일반 텍스트

  • 유니코드 일반 텍스트

  • RTF(서식 있는 텍스트)

  • OLE 개체를 대신하는 공백을 포함하는 RTF

  • OLE 개체의 텍스트 표시를 포함하는 일반 텍스트

파일을 저장하려면 SaveFile 메서드를 호출합니다. 또한 SaveFile 메서드를 사용하여 데이트를 스트림에 저장할 수도 있습니다. 자세한 내용은 SaveFile(Stream, RichTextBoxStreamType)를 참조하세요.

컨트롤의 콘텐츠를 파일에 저장하려면

  1. 저장할 파일의 경로를 결정합니다.

    실제 애플리케이션에서 이 작업을 수행하려면 일반적으로 SaveFileDialog 구성 요소를 사용합니다. 개요는 SaveFileDialog 구성 요소 개요를 참조하세요.

  2. SaveFile 컨트롤의 RichTextBox 메서드를 호출하여 저장할 파일 및 선택적으로 파일 형식을 지정합니다. 파일 이름을 유일한 인수로 사용하여 메서드를 호출하면 파일은 RTF로 저장됩니다. 다른 파일 형식을 지정하려면 RichTextBoxStreamType 열거형의 값을 두 번째 인수로 사용하여 메서드를 호출합니다.

    아래 예제에서 서식 있는 텍스트 파일의 위치에 설정된 경로는 내 문서 폴더입니다. Windows 운영 체제를 실행하는 대부분 컴퓨터가 이 폴더에 포함된다고 가정할 수 있기 때문에 그렇습니다. 또한 위치를 선택하면 최소한의 시스템 액세스 수준을 가진 사용자가 안전하게 애플리케이션을 실행할 수 있습니다. 아래 예제에서는 PictureBox 컨트롤이 이미 추가된 양식을 가정합니다.

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

    중요합니다

    이 예제에서는 파일이 아직 없는 경우 새 파일을 만듭니다. 애플리케이션에서 파일을 만들어야 하는 경우 해당 애플리케이션에 폴더에 대한 만들기 액세스 권한이 있어야 합니다. 권한은 액세스 제어 목록을 사용하여 설정됩니다. 파일이 이미 있는 경우 애플리케이션에 더 낮은 권한인 쓰기 액세스 권한만 있으면 됩니다. 가능한 경우 배포하는 동안 파일을 만들고, 폴더에 대한 만들기 액세스 권한 대신 단일 파일에 대해 읽기 액세스 권한만 부여하는 것이 더 안전합니다. 또한 루트 폴더나 Program Files 폴더보다 사용자 폴더에 데이터를 쓰는 것이 더 안전합니다.

참고하십시오