public static PersistentFont FromFont(Font font, Color color) { PersistentFont result = new PersistentFont(); result.FontName = font.Name; result.FontSize = font.Size; result.FontStyle = font.Style; result.FontColor = color; return(result); }
public override void PaintValue(PaintValueEventArgs e) { if (e.Value != null) { PersistentFont font = (PersistentFont)e.Value; using (Brush color = new SolidBrush(font.FontColor)) { GraphicsState state = e.Graphics.Save(); e.Graphics.FillRectangle(color, e.Bounds); e.Graphics.Restore(state); } } else { base.PaintValue(e); } }
public override object EditValue(ITypeDescriptorContext context, System.IServiceProvider provider, object value) { if (context == null || provider == null || context.Instance == null) { return(base.EditValue(provider, value)); } FontDialog dlg = new FontDialog(); PersistentFont src = (PersistentFont)value; dlg.ShowColor = true; dlg.Font = (Font)src.GdiFont.Clone(); dlg.Color = src.FontColor; if (dlg.ShowDialogEx() == DialogResult.OK) { return(PersistentFont.FromFont(dlg.Font, dlg.Color)); } else { return(value); } }