2016-10-10 40 views
0

我正在研究UML軟件/編輯器,用戶可以在其中創建類圖。但是,我想實現一個保存的函數和一個可以加載現有UML文件的函數。我現在能做的就是打開/保存文本文件,該文件是寫在應用程序中的文本框,我所做的:爲UML文件製作讀/寫功能

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      if (GemDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
      { 
       File.WriteAllText(GemDialog.FileName, textBox.Text); 
      } 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 
      if (LoadDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
      { 
       StiLabel.Text = LoadDialog.FileName; 
       textBox.Text = File.ReadAllText(StiLabel.Text); 
      } 
     } 
    } 
} 

我知道我可以實現,可以將其保存爲.jpg的功能,但那不是我想要做的。我只想讓用戶可以保存他的工作,然後再打開它。

回答

0

這需要更多的努力來做到這一點。使用屬性和[XmlAttribute]標記它們(否則,所有公共屬性將默認序列化)。然後,你可以序列化所有的東西轉換成XML是保存設置/配置,任何一個不錯的選擇:

XmlSerializer serializer = new XmlSerializer(typeof(UMLModel)); 
FileStream myFileStream = new FileStream("c:\myUML.xml",FileMode.Open); 

確保文件在保存之前存在,或您與SaveFileDialog創建它。 其中UMLModel是您的類,它包含您需要保存的所有數據。請以read爲起點。