2012-03-27 8 views
1

私は、MessageBoxを使用して製品を削除し、その結果をキャッチするかどうかをユーザーに確認させようとしています。これは私のコードです:MessageBoxの結果を取得する

// Confirm if the user really wants to delete the product 
DialogResult result = MessageBox.Show("Do you really want to delete the product \"" + productName + "\"?", "Confirm product deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); 
if (result == DialogResult.OK) 
{ 
    MessageBox.Show("deleted"); 
} 

コードを実行して製品を削除しようとすると、削除されません。 MSDNのページでは、DialogResultではなくMessageBoxResultを使用すると言われていますが、Visual StudioではMessageBoxResultが認識されず、開いているファイルダイアログのコードのどこかでDialogResultを使用しています。明らかに、それはそれをチェックする適切な方法ではありません。

答えて

6

あなたがYES/NOに設定されたメッセージボックスの種類を持って、まだあなたはOK結果をキャッチしようとしているDialogResult.Yes

// Confirm if the user really wants to delete the product 
DialogResult result = MessageBox.Show("Do you really want to delete the product \"" +  productName + "\"?", "Confirm product deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); 
if (result == DialogResult.Yes) 
{ 
    MessageBox.Show("deleted"); 
} 
1

を求める必要があります。はいをキャッチすると、あなたが分類されます。

0

YesNoボタンを使用しているため、DialogResult.OKは何も関係ありません。 あなたはあなたの状態のため

if (result == DialogResult.Yes) 

を行う必要があります。

0

正しいDialogResultを求めてください。

if (result == DialogResult.Yes) 

ダイアログにはさまざまな種類の結果があり、独自の結果を書き込むことができます。したがって、あなたが期待している結果とあなたが確認している結果を常に見てください。

ご挨拶、