#c#
#c#
Вопрос:
Я работаю над программным обеспечением / редактором 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, но это не то, что я хочу делать. Я просто хочу, чтобы пользователь мог сохранить свою работу, а затем снова открыть ее.
Ответ №1:
Потребуется еще несколько усилий, чтобы сделать это правильно. Используйте свойства и [XmlAttribute], чтобы пометить их (в противном случае все общедоступные свойства будут сериализованы по умолчанию). Затем вы можете сериализовать все это в XML, что является хорошим вариантом для сохранения настроек / конфигурации, что бы то ни было:
XmlSerializer serializer = new XmlSerializer(typeof(UMLModel));
FileStream myFileStream = new FileStream("c:myUML.xml",FileMode.Open);
Перед сохранением убедитесь, что файл существует, или создайте его с помощью SaveFileDialog.
Где UMLModel — это ваш класс, который содержит все данные, которые вам нужно сохранить. Пожалуйста, прочитайте в качестве отправной точки.