2017-11-12 10 views
0
以外のxmlファイルを保存する方法

チャートデータを含むXMLファイルを特定のフォルダに保存する方法があるかどうかを知りたかっただけです。私は、グラフの現在の状態のpngまたはjpegファイルを保存し、このグラフのxmlファイルを保存して後で読み込むSAVEDというボタンがあります。問題は、そのファイルがc#app/bin/debug/

graph.SaveImage(save.FileName, System.Windows.Forms.DataVisualization.Charting.ChartImageFormat.Png); 
graph.Serializer.Save(txtNom.Text + "_" + txtPrenom.Text + ".xml"); 
+0

パスを指定して別のフォルダに保存することができます。 'chart1.SaveImage(" C:\\ myfolder \\ mychart.png "、ChartImageFormat.Png);' – derloopkat

答えて

0

は、あなたが「保存」の方法にあなたによって指定されたパスを与えてみました/ myXMLfile.xmlアプリ/ binに/デバッグにデフォルトで入るということです?

については
graph.Serializer.Save(C:\\txtNom.Text + "_" + txtPrenom.Text + ".xml");  
0

は私が

graph.Serializer.Save(save.FileName+".xml"); 

てみましたが、私はので、私はただ単に敬遠しがち名を取得するためにsubstringメソッドを使用しmyFile.png.xmlのような醜いものを持っています.pngの拡張子を付けずにファイルを編集し、次にxmlの拡張子を追加します。これは次のようなものです。

graph.Serializer.Save(save.FileName.Substring(0,save.FileName.IndexOf('.')) + ".xml"); 
0

ここでは、共通の機能を使用して各ファイルの入力を求める方法を示します。あなたは、フォームのコードビハインドのセクションで、これらのライブラリへの参照を追加する必要があります。

using System.Drawing.Imaging; 
using System.IO; 

そして、完全なファイルパスをユーザに促すための保存ボタンと共通の機能のためのイベントハンドラを追加します。

private void btnSave_Click(object sender, EventArgs e) 
    { 
     string imageFilePath = null; 
     string dataFilePath = null; 
     ImageFormat format = System.Drawing.Imaging.ImageFormat.Png; 

     try 
     { 
      // Image data 
      imageFilePath = promptForFilePath("Save Chart image", "PNG Files (*.png)|*.png|JPEG Files (*.jpg,*.jpeg)|*.jpg;*.jpeg|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*"); 

      if (!String.IsNullOrWhiteSpace(imageFilePath)) 
      { 
       switch (Path.GetExtension(imageFilePath).Replace(".", "").ToLower()) 
       { 
        case "jpeg": 
        case "jpg": 
           format = ImageFormat.Jpeg; 
         break; 
        case "png": format = ImageFormat.Png; 
         break; 
        case "bmp": format = ImageFormat.Bmp; 
         break; 
       } 

       this.graph.SaveImage(imageFilePath, format); 
      } 

      // XML data 
      dataFilePath = promptForFilePath("Save Chart data","XML Files (*.xml)|*.xml|All Files (*.*)|*.*"); 

      if (!String.IsNullOrWhiteSpace(dataFilePath)) this.graph.Serializer.Save(dataFilePath); 

     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error: " + ex.Message, "btnSave_Click Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
     finally 
     { 

     } 
    } 

    string promptForFilePath(string title = "Save File", string fileFilter = "All Files (*.*)|*.*") 
    { 
     string result = null; 
     SaveFileDialog saveFileDialog = null; 

     try 
     { 
      saveFileDialog = new SaveFileDialog(); 
      saveFileDialog.Title = title; 
      saveFileDialog.Filter = fileFilter; 

      if(saveFileDialog.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) 
      { 
       result = saveFileDialog.FileName; 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error: " + ex.Message, "saveChartData Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
     finally 
     { 
      if (saveFileDialog != null) 
      { 
       saveFileDialog.Dispose(); 
       saveFileDialog = null; 
      } 
     } 

     return result; 
    }