/// <summary> /// Deserialization constructor /// </summary> /// <param name="info">Serialization info</param> /// <param name="context">Streaming context</param> protected UserControlLabel(SerializationInfo info, StreamingContext context) { InitializeComponent(); nc = this; NonstandardLabel.Load(this, info); bytes = PureDesktopPeer.LoadProperties(info); IProperties p = this; SetControl(p.Properties); if (child != null) { if (child is Control) { Control c = child as Control; c.Parent = panelCenter; } } try { icon = info.Deserialize <Image>("Icon"); if (icon != null) { pictureBoxIcon.Image = image; } } catch (Exception ex) { ex.ShowError(-1); } captionEditor.KeyUp += KeyUp; }
/// <summary> /// ISerializable interface implementation /// </summary> /// <param name="info">Serialization info</param> /// <param name="context">Streaming context</param> public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { NonstandardLabel.Save(this, info); PureDesktopPeer.SaveProperties(properties, bytes, info); if (icon != null) { info.Serialize <Image>("Icon", icon); } }
/// <summary> /// Initialization /// </summary> public virtual void Init() { if (isInitialized) { return; } isInitialized = true; if (child is INonstandardLabel) { INonstandardLabel l = child as INonstandardLabel; l.Initialize(); } mainPanel = panelCenter; textBrush = new SolidBrush(Color.White); font = (Font)captionEditor.Font.Clone(); hLab = new NonstandardLabel(this, new Control[] { panelTop, pictureBoxIcon }, captionEditor, Post, Resize); panelTop.MouseDown += EditorMouseDown; panelTop.Paint += OnPaint; sel = new Panel[] { panelLeft, panelRight, panelBottom }; }