2013-10-11 2 views
1

나는 문제가이 코드를 인식하지 못했습니다 :이 코드는 Visual Basic에서 무엇을 의미합니까?

나는이 는 "2"이 코드에서 If 문의 시작 부분에 무엇을 의미하는지 알고 싶어
SaveFileDialog.InitialDirectory = "C:\" 
SaveFileDialog.FileName = "dummy.txt" 
SaveFileDialog.Filter = "txt files (*.txt)|*.txt" 

If (SaveFileDialog.ShowDialog() = 2) Then 
    MsgBox("No dummy has been created", MsgBoxStyle.OkOnly) 
Else 
    Dim StreamWriter As StreamWriter = File.CreateText(SaveFileDialog.FileName) 

.

참고 :이 코드를 작성하지 않았습니다. 이것은 선생님이 우리에게 준 모범입니다.

+0

@ByteBlast =] 알림 –

답변

3

SaveFileDialog.ShowDialog 메서드를 호출하면 DialogResult이 반환됩니다. DialogResult이 열거되고,이 경우 이것은

public enum DialogResult 
{ 
    None, // 0 
    OK,  // 1 
    Cancel, // 2 !! 
    Abort, // 3 
    Retry, 
    Ignore, 
    Yes, 
    No,  // 7 
} 

처럼 각 열거 값은 0부터 시작하여 숫자 인덱스 암시를 갖는다. 코드 샘플에서 코드는 실제 열거 형 값 대신 인덱스를 기반으로 DialogResult을 평가합니다.

즉, DialogResult이 2인지 여부를 평가하는 것은 DialogResultDialogResult.Cancel과 같은지 여부를 평가하는 것과 같습니다.

즉, 사용자가 대화 상자 창에서 버튼을 취소하면 MessageBox이 표시되어 사용자에게 파일을 선택하지 않았 음을 알립니다.

1

2는 ShowDialog 호출의 대화 결과 (열거 값)입니다. 다음 열거에

DialogResult지도 : 그래서 http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx

,

If (SaveFileDialog.ShowDialog() = 2) Then 
    MsgBox("No dummy has been created", MsgBoxStyle.OkOnly) 

을 확인하여 코드가 선택 사용자가 대화 상자에서 취소 여부를 검증한다.

코드는 또한 더 명확하게 확인, 열거 값을 사용하여 작성해야합니다

If (SaveFileDialog.ShowDialog() = DialogResult.Cancel) Then 
    MsgBox("No dummy has been created", MsgBoxStyle.OkOnly) 
+1

에 대한 감사는 "코드 *는 *도 작성해야합니다.. . " – peterG

관련 문제