private void form_Resize(object sender, EventArgs e) { var form = sender as Form; if (form != null && (DesktopWindowManager.IsCompositionEnabled() && GetGlassEnabled(form)) || form.IsDesignMode()) { InvalidateNonGlassClientArea(form); } }
private void GlassifyForm(Form form, Graphics g = null) { if (!(DesktopWindowManager.IsCompositionEnabled() && GetGlassEnabled(form)) && !form.IsDesignMode()) { return; } if (g == null) { g = form.CreateGraphics(); } GlassFormProperties prop; if (!formProps.TryGetValue(form, out prop)) { return; } // Paint the glass effect. if (prop.GlassMargins == new Padding(-1)) { g.FillRectangle(Brushes.Black, form.ClientRectangle); } else { using (var r = new Region(form.ClientRectangle)) { r.Exclude(GetNonGlassArea(form, prop)); g.FillRegion(Brushes.Black, r); } } if (!form.IsDesignMode()) { form.ExtendFrameIntoClientArea(prop.GlassMargins); } }