2011-11-16 9 views
15

मैं WPF में SaveFileDialog का उपयोग कर रहा हूं ताकि उपयोगकर्ता द्वारा चुने गए विशेष लोशन पर एक्सेल फ़ाइल में निर्यात किया जा सके। लेकिन बीच में जब SaveFileDailog खोला जाता है तो उपयोगकर्ता क्लिप Cancel button पर संवाद पर तब मुझे एक और संवाद मिल रहा है जो "Do you want to save changes you made to 'Sheet1'?" और फिर "Export completed" निर्यात करने के बजाय रद्द करने के बजाय कहता है।WPF - SaveFileDialog

तो मुझे इससे निपटने के लिए क्या करना है? WPF में कोई भी चीज़ 'DialogResult' जैसी है जो WinForms में समान है?

उत्तर

2

उपयोगकर्ताओं को रद्द करने पर क्लिक करते समय आपको एक और विंडो खोलने के लिए WPF में MessageBox का उपयोग करने की आवश्यकता है। रद्द बटन घटना के लिए निम्न कोड जोड़ें: -

private void canceButton() 
    { 
     MessageBoxResult key = MessageBox.Show(
      "Are you sure you want to quit", 
      "Confirm", 
      MessageBoxButton.YesNo, 
      MessageBoxImage.Question, 
      MessageBoxResult.No); 
     if (key == MessageBoxResult.No) 
     { 
      return; 
     } 
     else 
     { 
      Application.Current.Shutdown(); 
     } 
    } 
1

आप WPF में एक संवाद परिणाम प्रयोग करने के लिए DialogResult Property उपयोग करना होगा। WPF में dialogresult का उपयोग कर के बारे में अधिक जानकारी के लिए WPF Dialogs and DialogResult

+0

उत्तर के लिए धन्यवाद ठीक बटन प्रदर्शन करना होगा ... –

49

SaveFileDialog का उल्लेख सही वापस आ जाएगी, तो उपयोगकर्ता को बचाया (ShowDialog विधि एक नल bool रिटर्न), और झूठे/बातिल लौट उपयोगकर्ता दबाया रद्द करता है, तो। नीचे एक नमूना MSDN प्राप्त करने के लिए कोड आप शुरू कर दिया है:

// Configure save file dialog box 
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); 
dlg.FileName = "Document"; // Default file name 
dlg.DefaultExt = ".txt"; // Default file extension 
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension 

// Show save file dialog box 
Nullable<bool> result = dlg.ShowDialog(); 

// Process save file dialog box results 
if (result == true) 
{ 
    // Save document 
    string filename = dlg.FileName; 
} 
0

यह आप पर चाहते हैं के रूप में रद्द कर देगा और SaveFileDialog

की
bool? DialougeResult = saveFileDialog1.ShowDialog(); 
    if(DialougeResult) 
    { 
    // your code now its cancel when click cancel button 
    }