FileDialog 클래스

정의

파일을 선택할 수 있는 대화 상자를 표시합니다.

public ref class FileDialog abstract : System::Windows::Forms::CommonDialog
public abstract class FileDialog : System.Windows.Forms.CommonDialog
type FileDialog = class
    inherit CommonDialog
Public MustInherit Class FileDialog
Inherits CommonDialog
상속
파생

예제

다음 코드 예제에서는 구현 FileDialogOpenFileDialog 사용 하 고 만들기를 보여 줍니다., 속성의 설정 및 대화 상자를 표시 합니다. 이 예제에서는 메서드를 ShowDialog 사용하여 대화 상자를 표시하고 를 반환합니다 DialogResult. 이 예제에서는 에 배치된 Button 양식과 네임스페이 System.IO 스가 추가된 폼이 필요합니다.

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      Stream^ myStream;
      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

      openFileDialog1->InitialDirectory = "c:\\";
      openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
      openFileDialog1->FilterIndex = 2;
      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
      {
         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
         {
            // Insert code to read the stream here.
            myStream->Close();
         }
      }
   }
var fileContent = string.Empty;
var filePath = string.Empty;

using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
    openFileDialog.InitialDirectory = "c:\\";
    openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    openFileDialog.FilterIndex = 2;
    openFileDialog.RestoreDirectory = true;

    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        //Get the path of specified file
        filePath = openFileDialog.FileName;

        //Read the contents of the file into a stream
        var fileStream = openFileDialog.OpenFile();

        using (StreamReader reader = new StreamReader(fileStream))
        {
            fileContent = reader.ReadToEnd();
        }
    }
}

MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim myStream As Stream = Nothing
    Dim openFileDialog1 As New OpenFileDialog()

    openFileDialog1.InitialDirectory = "c:\"
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    openFileDialog1.FilterIndex = 2
    openFileDialog1.RestoreDirectory = True

    If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
        Try
            myStream = openFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Insert code to read the stream here.
            End If
        Catch Ex As Exception
            MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
        Finally
            ' Check this again, since we need to make sure we didn't throw an exception on open.
            If (myStream IsNot Nothing) Then
                myStream.Close()
            End If
        End Try
    End If
End Sub

설명

FileDialog는 및 SaveFileDialog 클래스에 대한 OpenFileDialog 일반적인 동작을 포함하는 추상 클래스입니다. 직접 사용할 수는 없지만 이러한 두 클래스에 대한 일반적인 동작이 포함되어 있습니다. 의 FileDialoginstance 만들 수 없습니다. 클래스는 public으로 선언되지만 내부 추상 메서드를 포함하므로 상속할 수 없습니다. 파일을 선택하거나 저장할 대화 상자를 만들려면 또는 SaveFileDialog를 사용합니다OpenFileDialog.

FileDialog 모달 대화 상자. 따라서 표시 된 사용자가 파일을 선택 될 때까지 애플리케이션의 나머지 부분을 차단 됩니다. 대화 상자가 모듈식으로 표시되면 대화 상자의 개체 외에는 입력(키보드 또는 마우스 클릭)이 발생하지 않습니다. 호출 프로그램에 대한 입력이 발생하기 전에 프로그램에서 대화 상자를 숨기거나 닫아야 합니다(일반적으로 일부 사용자 작업에 대한 응답).

주의

SaveFileDialog와 같이 OpenFileDialog 에서 FileDialog파생된 클래스를 사용하는 경우 절대 경로가 포함된 문자열 리터럴을 사용하지 마세요. 대신 다음 표에 설명된 기술 중 하나 이상을 사용하여 경로를 동적으로 가져옵니다.

사용자가 파일 대신 폴더를 선택할 수 있도록 하려면 를 사용합니다 FolderBrowserDialog.

애플리케이션, 애플리케이션을 사용 하 여 연결 된 데이터 저장 되는 방법 및 파일 시스템에 액세스 하기 위한 이유의 유형에 따라 여러 가지 가능한 디렉터리 경로 만들 수 있습니다. 다음 표에서는 경로를 동적으로 만드는 기술을 보여 줍니다.

경로 또는 프로그램 범주 사용할 클래스 및 멤버
프로그램 파일, MyDocuments, 데스크톱 등과 같은 표준 Windows 경로 클래스는 System.Environment 열거된 값 중 Environment.SpecialFolder 하나를 사용하여 정적 메서드(예: SystemDirectory)를 통해 또는 메서드를 GetFolderPath 통해 가장 완벽한 소스입니다.
현재 애플리케이션과 관련 된 경로 클래스에는 Application , , ExecutablePathLocalUserAppDataPathCommonAppDataPath와 같은 StartupPath특정 경로를 가져오는 정적 멤버가 있습니다.

System.IO.Path 메서드는 GetTempPath 임시 폴더의 경로를 반환합니다.

GetCurrentDirectory 메서드는 System.IO.Directory 클래스 애플리케이션의 현재 실행 중인 디렉터리를 반환 합니다.

클래스의 DriveInfo 속성은 RootDirectory 지정된 드라이브의 루트 디렉터리를 나타냅니다.
애플리케이션 설정으로 저장 된 경로 래퍼 클래스의 속성 설정에서 파생 된 해당 애플리케이션에 액세스할 ApplicationSettingsBase합니다. 자세한 내용은 Windows Forms에 대 한 애플리케이션 설정을합니다.
레지스트리 스토리지 일부 애플리케이션 레지스트리의 디렉터리 정보를 저장 합니다. 클래스에는 Application 값으로 CommonAppDataPath resolve 및 LocalUserAppDataPath 속성이 있습니다RegistryKey.
ClickOnce 애플리케이션 ClickOnce 애플리케이션을 사용 하 여 Application 와 같은 클래스 멤버 UserAppDataPath, ClickOnce 데이터 디렉터리에 대 한 포인터를 반환 됩니다는 합니다. 자세한 내용은 로컬 및 ClickOnce 애플리케이션의 원격 데이터 액세스합니다.
국가별 애플리케이션 국가별 애플리케이션에 대 한 상대 경로 부분 문자열의 리소스 애플리케이션에서 사용 하 여 검색 된 System.Resources.ResourceReader 클래스입니다. 세계화 및 지역화에 대한 자세한 내용은 세계화 및 지역화 항목을 참조하세요.

설명된 기술 중 하나 이상을 사용하여 전체 경로를 빌드할 수 있습니다. 예를 들어를 GetFolderPath 메서드 내 문서 폴더의 경로를 가져오는 데 사용할 수 있습니다 다음 상대 하위 디렉터리 부분을 추가할 애플리케이션 설정을 사용할 수 있습니다.

클래스에는 System.IO.Path 절대 및 상대 경로 문자열을 조작하는 데 도움이 되는 정적 멤버가 포함되는 반면 System.IO.FileSystem.IO.Directory 클래스에는 각각 파일과 디렉터리를 실제로 조작하는 정적 멤버가 있습니다.

중요

애플리케이션의 사용자 폴더를 변경 하는 경우는 FileDialog, 애플리케이션에 대 한 현재 작업 디렉터리에서 지정 된 위치로 설정 됩니다는 FileDialog합니다. 이를 방지하려면 속성을 trueRestoreDirectory 설정합니다.

필드

EventFileOk

FileOk 이벤트를 소유합니다.

속성

AddExtension

확장명을 생략한 경우 대화 상자가 파일 이름에 확장명을 자동으로 추가할지를 나타내는 값을 가져오거나 설정합니다.

AddToRecent

대화 상자에서 열려 있는 파일을 최근 목록에 추가할지 아니면 저장할지를 나타내는 값을 가져오거나 설정합니다.

AutoUpgradeEnabled

Windows Vista에서 실행할 때 이 FileDialog instance 모양과 동작을 자동으로 업그레이드해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
CheckFileExists

존재하지 않는 파일 이름을 지정할 때 대화 상자에 경고가 표시되는지를 나타내는 값을 가져오거나 설정합니다.

CheckPathExists

존재하지 않는 경로를 지정할 때 대화 상자에 경고가 표시되는지를 나타내는 값을 가져오거나 설정합니다.

ClientGuid

이 대화 상자 상태에 연결할 GUID를 가져오거나 설정합니다. 일반적으로 마지막으로 방문한 폴더와 대화 상자의 위치 및 크기와 같은 상태는 실행 파일의 이름에 따라 유지됩니다. GUID를 지정하면 동일한 애플리케이션 내에서 대화 상자의 버전마다 지속 상태가 달라질 수 있습니다(예: 가져오기 대화 상자와 열기 대화 상자).

애플리케이션에서 비주얼 스타일을 사용하지 않거나 AutoUpgradeEnabledfalse로 설정된 경우에는 이 기능을 사용할 수 없습니다.

Container

IContainer을 포함하는 Component를 가져옵니다.

(다음에서 상속됨 Component)
CustomPlaces

FileDialog 인스턴스의 사용자 지정 위치 컬렉션을 가져옵니다.

DefaultExt

기본 확장명을 가져오거나 설정합니다.

DereferenceLinks

대화 상자가 바로 가기(.lnk)의 위치 또는 바로 가기가 참조하는 파일의 위치를 반환할지를 나타내는 값을 가져오거나 설정합니다.

DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.

(다음에서 상속됨 Component)
FileName

파일 대화 상자에서 선택한 파일 이름을 포함하는 문자열을 가져오거나 설정합니다.

FileNames

대화 상자에서 선택한 모든 파일의 파일 이름을 가져옵니다.

Filter

대화 상자에서 "파일 형식으로 저장" 또는 "파일 형식" 상자에 표시되는 선택 옵션을 결정하는 현재 파일 이름 필터 문자열을 가져오거나 설정합니다.

FilterIndex

파일 대화 상자에서 현재 선택한 필터의 인덱스를 가져오거나 설정합니다.

InitialDirectory

파일 대화 상자가 표시하는 초기 디렉터리를 가져오거나 설정합니다.

Instance

애플리케이션의 Win32 인스턴스 핸들을 가져옵니다.

OkRequiresInteraction

사용자가 보기를 탐색하거나 파일 이름을 편집할 때까지 대화 상자의 확인 단추를 사용할 수 없는지 여부를 나타내는 값을 가져오거나 설정합니다(해당하는 경우).

Options

FileDialog를 초기화할 값을 가져옵니다.

RestoreDirectory

대화 상자를 닫기 전에 대화 상자에서 디렉터리를 이전에 선택한 디렉터리로 복원할지를 나타내는 값을 가져오거나 설정합니다.

ShowHelp

도움말 단추가 파일 대화 상자에 표시되는지를 나타내는 값을 가져오거나 설정합니다.

ShowHiddenFiles

대화 상자에 숨겨진 파일과 시스템 파일이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.

ShowPinnedPlaces

보기의 탐색 창에 기본적으로 표시되는 항목이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.

Site

ComponentISite를 가져오거나 설정합니다.

(다음에서 상속됨 Component)
SupportMultiDottedExtensions

대화 상자에서 파일 확장명이 여러 개인 파일의 표시 및 저장을 지원하는지를 나타내는 값을 가져오거나 설정합니다.

Tag

컨트롤에 대한 데이터가 들어 있는 개체를 가져오거나 설정합니다.

(다음에서 상속됨 CommonDialog)
Title

파일 대화 상자 제목을 가져오거나 설정합니다.

ValidateNames

대화 상자에서 유효한 Win32 파일 이름만 사용할 수 있는지를 나타내는 값을 가져오거나 설정합니다.

메서드

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Component)
Dispose(Boolean)

Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

(다음에서 상속됨 Component)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

파일 대화 상자에 특정 기능을 추가하도록 재정의된 일반 대화 상자의 후크 프로시저를 정의합니다.

InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
OnFileOk(CancelEventArgs)

FileOk 이벤트를 발생시킵니다.

OnHelpRequest(EventArgs)

HelpRequest 이벤트를 발생시킵니다.

(다음에서 상속됨 CommonDialog)
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

일반 대화 상자에 특정 기능을 추가하도록 재정의된 소유자 창 프로시저를 정의합니다.

(다음에서 상속됨 CommonDialog)
Reset()

모든 속성을 기본값으로 다시 설정합니다.

RunDialog(IntPtr)

일반 대화 상자를 지정합니다.

ShowDialog()

기본 소유자로 일반 대화 상자를 실행합니다.

(다음에서 상속됨 CommonDialog)
ShowDialog(IWin32Window)

지정된 소유자로 일반 대화 상자를 실행합니다.

(다음에서 상속됨 CommonDialog)
ToString()

이 개체의 문자열 버전을 제공합니다.

이벤트

Disposed

Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다.

(다음에서 상속됨 Component)
FileOk

사용자가 파일 대화 상자의 열기 또는 저장 단추를 클릭할 때 발생합니다.

HelpRequest

일반 대화 상자의 도움말 단추를 클릭하면 발생합니다.

(다음에서 상속됨 CommonDialog)

적용 대상

추가 정보