9

xpdl形式でデータをエクスポートすることを開発しています。バージョン2.1と2.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?
        }
4

2 に答える 2

12

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;
            }
        }
于 2012-08-15T06:29:14.987 に答える
2

フィルタリストを分割します。次に、FilterIndexを確認します。

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]);
}
于 2014-09-02T08:23:05.870 に答える