http://kmlinux.fjfi.cvut.cz/~culikzde/pw/Properties-2019-11-18.zip
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.ComponentModel;
namespace Properties
{
public class Data
{
[DisplayName("Jmeno")]
[Description("Jmeno objektu")]
public string Name { get; set; }
[Category ("Souradnice")]
public int X { get; set; }
[Category("Souradnice")]
public int Y { get; set; }
[Category("Souradnice")]
[Browsable(false)]
public int Z { get; set; }
public Color SomeColor { get; set; }
// public Font SomeFont { get; set; }
public bool OK { get; set; }
public enum Shape { line, rectangle, ellipse };
public Shape SomeShape { get; set; }
// public Point EntryPoint { get; set; }
public Size EntrySize { get; set; }
public Data ()
{
SomeColor = Color.Orange;
// SomeFont = new Font (FontFamily.GenericSansSerif, 14);
SomeShape = Shape.line;
// EntryPoint = new Point ();
EntrySize = new Size();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Xml.Serialization;
namespace Properties
{
public partial class Form1 : Form
{
Data data;
public Form1()
{
InitializeComponent();
data = new Data ();
data.Name = "abc";
data.X = 1;
data.Y = 2;
data.Z = data.Y + 1;
propertyGrid1.SelectedObject = data;
// using System.IO;
// using System.Xml.Serialization;
StringWriter f = new StringWriter ();
XmlSerializer w = new XmlSerializer (typeof (Data));
w.Serialize(f, data);
string s = f.ToString();
textBox1.AppendText(s + "\n\r");
}
private void SaveToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog () == DialogResult.OK)
{
// using System.IO;
// using System.Xml.Serialization;
StreamWriter w = new StreamWriter(saveFileDialog1.FileName);
XmlSerializer t = new XmlSerializer(typeof(Data));
t.Serialize(w, data);
w.Close();
}
}
private void OpenToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
// using System.IO;
// using System.Xml.Serialization;
StreamReader r = new StreamReader (openFileDialog1.FileName);
XmlSerializer t = new XmlSerializer(typeof(Data));
data = (Data) t.Deserialize (r);
propertyGrid1.SelectedObject = data;
r.Close();
}
}
}
}