2012-08-15 22 views
6

मैं xpdl प्रारूप में डेटा निर्यात करने का विकास कर रहा हूं। 2 विकल्प हैं - संस्करण 2.1 और 2.2। मैं SaveFileDialog का उपयोग कर रहा हूं, लेकिन मैं उन 2 विकल्पों के बीच अंतर कैसे कर सकता हूं?यह जांचने के लिए कि कौन सा फ़िल्टर लागू किया गया है

 SaveFileDialog dlg = new SaveFileDialog(); 
     dlg.Filter = "xpdl 2.1|*.xpdl|xpdl 2.2|*.xpdl"; 
     if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      //how can I check, which format is selected? 
     } 

उत्तर

7

आप प्राप्त कर सकते हैं या FilterIndex संपत्ति की जाँच करके डायलॉग के लिए फिल्टर चयनित सेट। और जैसा कि MSDN में कहा गया है:

पहले फिल्टर प्रविष्टि के सूचकांक मूल्य 1.

तो अपने काम के लिए यह होगा है:

 SaveFileDialog dlg = new SaveFileDialog(); 
     dlg.Filter = "xpdl 2.1|*.xpdl|xpdl 2.2|*.xpdl"; 
     if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      switch (dlg.FilterIndex) 
      { 
       case 1: 
        //selected xpdl 2.1 
        break; 
       case 2: 
        //selected xpdl 2.2 
        break; 
      } 
     } 
1

स्प्लिट फ़िल्टर सूची। फिर फ़िल्टर इंडेक्स देखें।

SaveFileDialog dlg = new SaveFileDialog(); 
dlg.Filter = "xpdl 2.1|*.xpdl|xpdl 2.2|*.xpdl"; 
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    string[] filterstring = saveFilaDialog.Filter.Split('|'); 
    MessageBox.Show(filterstring[(saveFilaDialog.FilterIndex - 1) * 2]); 
} 
+0

ग्रेट उत्तर सारथी ... मेरे पास 30 से अधिक फ़िल्टर हैं इसलिए केस केस स्टेटमेंट करना दर्द होगा। – MatthewD