2012-03-05 10 views
2

私はダイアログフォームに問題があります。以下は、FolderBrowserDialogウィンドウを呼び出すC#コードのセクションです。今度は、フォルダ上で「OK」をクリックするとダイアログが閉じるので、それほど心配はありません。しかし、誰もキャンセルイベントを検出する方法を知っていますか?私はそれを見てみることを試みたが、私が見つけることができるように思われるのはすべて「却下」である。それが私を助けることができるか分からない。例えば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 
} 
関連する問題