/* * StoreFormState */ /// <summary> /// </summary> /// <exception cref="ArgumentNullException"> /// <paramref name="formToStore"/> is <see langword="null"/>. /// </exception> public void StoreFormState(Form formToStore) { if (formToStore == null) { throw new ArgumentNullException("formToStore"); } NuGenFormStateDescriptor stateDescriptor = new NuGenFormStateDescriptor(); stateDescriptor.BackColor = formToStore.BackColor; stateDescriptor.Padding = formToStore.Padding; ControlStyles[] formControlStyles = NuGenEnum.ToArray <ControlStyles>(); Debug.Assert(formControlStyles != null, "formControlStyles != null"); for (int i = 0; i < formControlStyles.Length; i++) { stateDescriptor.Styles.Add( formControlStyles[i], NuGenControlPaint.GetStyle(formToStore, formControlStyles[i]) ); } Debug.Assert(this.StoredForms != null, "this.StoredForms != null"); if (this.StoredForms.ContainsKey(formToStore)) { this.StoredForms[formToStore] = stateDescriptor; } else { this.StoredForms.Add(formToStore, stateDescriptor); } }
public void StoreRestoreTest() { _Store.StoreFormState(_Form); bool originalDoubleBuffer = NuGenControlPaint.GetStyle(_Form, ControlStyles.OptimizedDoubleBuffer); bool originalOpaque = NuGenControlPaint.GetStyle(_Form, ControlStyles.Opaque); bool originalResizeRedraw = NuGenControlPaint.GetStyle(_Form, ControlStyles.ResizeRedraw); bool originalSelectable = NuGenControlPaint.GetStyle(_Form, ControlStyles.Selectable); Color originalBackColor = _Form.BackColor; Padding originalPadding = _Form.Padding; bool doubleBuffer = true; bool opaque = true; bool resizeRedraw = true; bool selectable = true; Color backColor = Color.Blue; Padding padding = new Padding(2, 3, 4, 5); Assert.AreNotEqual(originalBackColor, backColor); Assert.AreNotEqual(originalBackColor, padding); NuGenControlPaint.SetStyle(_Form, ControlStyles.OptimizedDoubleBuffer, doubleBuffer); NuGenControlPaint.SetStyle(_Form, ControlStyles.Opaque, opaque); NuGenControlPaint.SetStyle(_Form, ControlStyles.ResizeRedraw, resizeRedraw); NuGenControlPaint.SetStyle(_Form, ControlStyles.Selectable, selectable); _Form.BackColor = backColor; _Form.Padding = padding; _Store.RestoreFormState(_Form); bool restoredDoubleBuffer = NuGenControlPaint.GetStyle(_Form, ControlStyles.OptimizedDoubleBuffer); bool restoredOpaque = NuGenControlPaint.GetStyle(_Form, ControlStyles.Opaque); bool restoredResizeRedraw = NuGenControlPaint.GetStyle(_Form, ControlStyles.ResizeRedraw); bool restoredSelectable = NuGenControlPaint.GetStyle(_Form, ControlStyles.Selectable); Color restoredBackColor = _Form.BackColor; Padding restoredPadding = _Form.Padding; Assert.AreEqual(originalDoubleBuffer, restoredDoubleBuffer); Assert.AreEqual(originalOpaque, restoredOpaque); Assert.AreEqual(originalResizeRedraw, restoredResizeRedraw); Assert.AreEqual(originalSelectable, restoredSelectable); Assert.AreEqual(originalBackColor, restoredBackColor); Assert.AreEqual(originalPadding, restoredPadding); }