2012-03-05 3 views
2

대화 상자에 문제가 있습니다. 다음은 FolderBrowserDialog 윈도우를 호출하는 C# 코드 섹션입니다. 이제 폴더에서 "확인"을 클릭하면 대화 상자를 닫을 것이므로 걱정하지 않아도됩니다. 그러나 누구나 취소 이벤트를 감지하는 방법을 알고 있습니까? 나는 그것을 찾으려고 노력했다. 그러나 내가 발견 할 수있는 것처럼 보이는 누구나는 "기각한다. 나에게 도움이 될지 모르겠다. 이 라인을 따라FolderBrowserDialog 이벤트 취소 C#

private void link1add_Click(object sender, EventArgs e) 
    { 
     FolderBrowserDialog dialog = new FolderBrowserDialog(); 
     dialog.ShowDialog(); // Opens Folderdialog 
    } 

예를 들어 뭔가 : 사람이 되거 수

private void link1add_Click(object sender, EventArgs e) 
    { 
     FolderBrowserDialog dialog = new FolderBrowserDialog(); 
     dialog.ShowDialog(); // Opens Folderdialog 
     if (dialog == dialog.Cancel)    
     { 
     } 
    } 

경우에 나는 아주 greatful 일 것이다. 찾고있어 줘서 고마워.

답변

8

이 시도 :

private void link1add_Click(object sender, EventArgs e) { 
     FolderBrowserDialog f = new FolderBrowserDialog(); 

     if (f.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) { 
      //handle Cancel 
     } 
    } 
+0

이 일! 비록 내가 이것을 시도했다고 생각했기 때문에 상당히 실망 스러웠다. 도와 주셔서 대단히 감사합니다. 이제 머리카락을 꺼내는 것을 멈출 수 있습니다. – Marshal

2
private void link1add_Click(object sender, EventArgs e) 
{ 
    DialogResult dr = dialog.ShowDialog(); 
    If(dr == DialogResult.Ok) 
    { 

    } 
    else 
    { 
     //All other situations 
    } 
} 
1

처리해야 할 이벤트가 없습니다. 그냥 ShowDialog()의 반환 값을보고 :

var result = dialog.ShowDialog(); 
if (result == DialogResult.Cancel) 
{ 
... 
} 
2
FolderBrowserDialog dialog = new FolderBrowserDialog(); 
var res = dialog.ShowDialog(); 
if(res == System.Windows.Forms.DialogResult.OK) 
{ 

} 
else 
{ 
    //dialog.Cancel 
}