FileDialog 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
사용자가 파일을 선택할 수 있는 대화 상자를 표시합니다.
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
- 상속
- 파생
예제
다음 코드 예제에서는 구현 FileDialog 을 OpenFileDialog 사용 하 고 만들기를 보여 줍니다., 속성의 설정 및 대화 상자를 표시 합니다. 이 예제에서는 메서드를 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 포함하는 추상 클래스입니다. 직접 사용할 수는 없지만 이러한 두 클래스에 대한 일반적인 동작을 포함합니다. 의 FileDialog인스턴스를 만들 수 없습니다. 클래스는 public으로 선언되지만 내부 추상 메서드를 포함하므로 상속할 수 없습니다. 파일을 OpenFileDialogSaveFileDialog선택하거나 저장할 대화 상자를 만들려면
FileDialog 는 모달 대화 상자입니다. 따라서 표시된 경우 사용자가 파일을 선택할 때까지 애플리케이션의 나머지 부분을 차단합니다. 대화 상자가 모듈식으로 표시되면 대화 상자의 개체를 제외하고 입력(키보드 또는 마우스 클릭)이 발생하지 않습니다. 호출 프로그램에 대한 입력이 발생하기 전에 프로그램에서 대화 상자를 숨기거나 닫아야 합니다(일반적으로 일부 사용자 작업에 대한 응답으로).
주의
파생된 FileDialog클래스(예: OpenFileDialogSaveFileDialog및)를 사용하는 경우 절대 경로가 포함된 문자열 리터럴을 사용하지 않도록 합니다. 대신 다음 표에 설명된 기술 중 하나 이상을 사용하여 경로를 동적으로 가져옵니다.
사용자가 파일 대신 폴더를 선택할 수 있도록 하려면 다음을 사용합니다 FolderBrowserDialog.
애플리케이션 유형, 애플리케이션과 연결된 데이터가 저장되는 방법 및 파일 시스템에 액세스하는 이유에 따라 디렉터리 경로를 만들 수 있는 여러 가지 방법이 있습니다. 다음 표에서는 경로를 동적으로 만드는 방법을 보여 줍니다.
| 경로 또는 프로그램 범주 | 사용할 클래스 및 멤버 |
|---|---|
| 프로그램 파일, MyDocuments, 데스크톱 등과 같은 표준 Windows 경로 | 클래스는 System.Environment 열거된 값 중 Environment.SpecialFolder 하나를 사용하여 정적 메서드(예: SystemDirectory또는 메서드를 통해)를 통해 GetFolderPath 가장 완벽한 소스입니다. |
| 현재 애플리케이션과 관련된 경로 | 클래스에는 Application 특정 경로(예: StartupPath, ExecutablePath및 )를 가져오는 정적 멤버가 LocalUserAppDataPath있습니다 CommonAppDataPath. GetTempPath 임시 폴더의 System.IO.Path 경로를 반환하는 메서드입니다. 클래스의 System.IO.Directory 메서드는 GetCurrentDirectory 애플리케이션의 현재 실행 디렉터리를 반환합니다. 클래스의 DriveInfo 속성은 RootDirectory 지정된 드라이브의 루트 디렉터리를 나타냅니다. |
| 애플리케이션 설정으로 저장된 경로 | 에서 파생된 래퍼 클래스의 해당 애플리케이션 설정 속성에 ApplicationSettingsBase액세스합니다. 자세한 내용은 Windows Forms의 애플리케이션 설정을 참조하세요. |
| 레지스트리 스토리지 | 일부 애플리케이션은 레지스트리에 디렉터리 정보를 저장합니다. 클래스에는 Application 값으로 CommonAppDataPath 확인되는 속성과 LocalUserAppDataPath 속성이 있습니다 RegistryKey . |
| ClickOnce 애플리케이션 | ClickOnce 애플리케이션의 경우 ClickOnce 데이터 디렉터리에 대한 포인터를 반환하는 등의 UserAppDataPath클래스 멤버를 사용합니다Application. 자세한 내용은 ClickOnce 애플리케이션에서 로컬 및 원격 데이터 액세스를 참조하세요. |
| 국제 애플리케이션 | 국제 애플리케이션의 경우 클래스를 사용하여 System.Resources.ResourceReader 애플리케이션의 문자열 리소스에서 상대 경로 부분을 검색합니다. 세계화 및 지역화에 대한 자세한 내용은 세계화 및 지역화 항목을 참조하세요. |
설명된 기술 중 하나 이상을 사용하여 전체 경로를 빌드할 수 있습니다. 예를 들어 메서드를 GetFolderPath 사용하여 MyDocuments 폴더의 경로를 가져온 다음 애플리케이션 설정을 사용하여 상대 하위 디렉터리 부분을 추가할 수 있습니다.
클래스에는 System.IO.Path 절대 및 상대 경로 문자열을 조작하는 데 도움이 되는 정적 멤버가 포함된 반면 System.IO.File , 클래스에는 System.IO.Directory 각각 파일과 디렉터리를 실제로 조작하는 정적 멤버가 있습니다.
중요합니다
애플리케이션 사용자가 폴더 FileDialog를 변경하는 경우 애플리케이션의 현재 작업 디렉터리가 지정된 위치 FileDialog로 설정됩니다. 이를 방지하려면 속성을 true.RestoreDirectory로 설정합니다.
필드
| Name | Description |
|---|---|
| EventFileOk |
이벤트를 소유합니다 FileOk . |
속성
| Name | Description |
|---|---|
| AddExtension |
사용자가 확장명을 생략하면 대화 상자에서 파일 이름에 확장명을 자동으로 추가할지 여부를 나타내는 값을 가져오거나 설정합니다. |
| AddToRecent |
대화 상자에서 열려 있는 파일을 최근 목록에 추가할지 또는 저장할지를 나타내는 값을 가져오거나 설정합니다. |
| AutoUpgradeEnabled |
Windows Vista에서 실행할 때 이 FileDialog 인스턴스가 모양과 동작을 자동으로 업그레이드해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
| CanRaiseEvents |
구성 요소가 이벤트를 발생시키는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| CheckFileExists |
사용자가 존재하지 않는 파일 이름을 지정하는 경우 대화 상자에 경고가 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. |
| CheckPathExists |
사용자가 존재하지 않는 경로를 지정하는 경우 대화 상자에 경고가 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. |
| ClientGuid |
이 대화 상자 상태와 연결할 GUID를 가져오거나 설정합니다. 일반적으로 마지막으로 방문한 폴더와 같은 상태와 대화 상자의 위치 및 크기는 실행 파일의 이름에 따라 유지됩니다. GUID를 지정하면 애플리케이션은 동일한 애플리케이션 내에서 여러 버전의 대화 상자에 대해 서로 다른 지속형 상태를 가질 수 있습니다(예: 가져오기 대화 상자 및 열린 대화 상자). 애플리케이션에서 비주얼 스타일을 사용하지 않거나 로 설정된 |
| 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 |
의 ISite값을 Component 가져오거나 설정합니다. (다음에서 상속됨 Component) |
| SupportMultiDottedExtensions |
대화 상자에서 파일 이름 확장명이 여러 개 있는 파일 표시 및 저장을 지원하는지 여부를 가져오거나 설정합니다. |
| Tag |
컨트롤에 대한 데이터가 포함된 개체를 가져오거나 설정합니다. (다음에서 상속됨 CommonDialog) |
| Title |
파일 대화 상자 제목을 가져오거나 설정합니다. |
| ValidateNames |
대화 상자에서 유효한 Win32 파일 이름만 허용하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
메서드
| Name | Description |
|---|---|
| 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() |
이 개체의 문자열 버전을 제공합니다. |
이벤트
| Name | Description |
|---|---|
| Disposed |
구성 요소가 메서드 호출에 Dispose() 의해 삭제될 때 발생합니다. (다음에서 상속됨 Component) |
| FileOk |
사용자가 파일 대화 상자에서 열기 또는 저장 단추를 클릭할 때 발생합니다. |
| HelpRequest |
사용자가 일반적인 대화 상자에서 도움말 단추를 클릭할 때 발생합니다. (다음에서 상속됨 CommonDialog) |