string path = null;


OpenFileDialog ofd = new OpenFileDialog();

ofd.Filter = "Excel files (*.xls,*xlsx)|*.xls;*xlsx|All files (*.*)|*.*"; //필터는 변경 가능

if (ofd.ShowDialog() == DialogResult.Cancel)

{

return; //취소했을때 함수 종료 (함수가 void일 경우에 해당)

}


path 에는 선택한 경로가 들어있다. D의 test.txt 파일을 선택했다면, path 에는 "D:\\test.txt" 가 입력되어 있을 것이다.


==MSDN 본문 중==


각 필터링 옵션에 대 한 필터 문자열에는 세로줄 필터에 대 한 설명을 포함 막대 (|) 및 필터 패턴입니다. 다양 한 필터링 옵션에 대 한 문자열 세로 막대로 구분 됩니다.

다음은 필터 문자열의 예입니다.

Text files (*.txt)|*.txt|All files (*.*)|*.*

예를 들어 파일 형식 세미콜론으로 구분 하 여 필터에 여러 필터 패턴을 추가할 수 있습니다.

Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*

사용 하 여 FilterIndex 사용자에 게 첫 번째는 필터링 옵션을 설정 하는 속성만 표시 됩니다.


MSDN 예제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private void button1_Click(object sender, System.EventArgs e)
{
    Stream myStream = null;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();
 
    openFileDialog1.InitialDirectory = "c:\\" ;
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
    openFileDialog1.FilterIndex = 2 ;
    openFileDialog1.RestoreDirectory = true ;
 
    if(openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        try
        {
            if ((myStream = openFileDialog1.OpenFile()) != null)
            {
                using (myStream)
                {
                    // Insert code to read the stream here.
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
        }
    }
}

c


위의 내용 링크 : https://msdn.microsoft.com/ko-kr/library/system.windows.forms.filedialog.filter(v=vs.110).aspx

+ Recent posts