private void cBAreo_CheckStateChanged(object sender, EventArgs e) { switch (cBAreo.CheckState) { case CheckState.Checked: cBAreo.Text = "边框扩展Areo效果"; this.FormBorderStyle = FormBorderStyle.None; //将窗体设置成无边型 Areo.AreoFrame(this.Handle, new Areo.Margin(-1, 0, 0, 0));//将边框扩展至整个窗体 break; case CheckState.Indeterminate: cBAreo.Text = "窗体背景Areo效果"; Areo.AreoFrame(this.Handle, new Areo.Margin(20, 20, 20, 20));//将边框四边向内扩展20像素 this.FormBorderStyle = FormBorderStyle.None; Areo.AreoParams parameter = new Areo.AreoParams(); parameter.Flags = Areo.AreoParams.ENABLE; parameter.Enable = true; parameter.AreoRegion = IntPtr.Zero; Areo.AreoWindow(this.Handle, parameter); //将整个窗体背景设置成Areo效果 break; case CheckState.Unchecked: this.FormBorderStyle = FormBorderStyle.Sizable; ClearAreoWindow(); //关闭背景Areo效果 cBAreo.Text = "窗体背景Areo效果"; break; default: break; } this.Invalidate(); }
protected override void OnLoad(EventArgs e) { Areo.AreoParams parameter = new Areo.AreoParams(); parameter.Flags = Areo.AreoParams.ENABLE; parameter.Enable = true; parameter.AreoRegion = IntPtr.Zero; Areo.AreoWindow(this.Handle, parameter); //将整个窗体背景设置成Areo效果 }
void ClearAreoWindow() { Areo.AreoParams parameter = new Areo.AreoParams(); parameter.Flags = Areo.AreoParams.ENABLE | Areo.AreoParams.REGION; parameter.Enable = false; //关闭Areo效果 parameter.AreoRegion = IntPtr.Zero; Areo.AreoWindow(this.Handle, parameter); }
protected override void OnLoad(EventArgs e) { GraphicsPath path = new GraphicsPath(); Rectangle rect = this.ClientRectangle; Size size = new Size(20, 20); path.AddArc(0, 0, size.Width, size.Height, 180, 90); path.AddArc(rect.Width - size.Width, 0, size.Width, size.Height, 270, 90); path.AddArc(rect.Width - size.Width, rect.Height - size.Height, size.Width, size.Height, 0, 90); path.AddArc(0, rect.Height - size.Height, size.Width, size.Height, 90, 90); path.CloseFigure(); this.Region = new Region(path); //创建圆角矩形区域 path.Dispose(); Areo.AreoParams parameter = new Areo.AreoParams(); parameter.Flags = Areo.AreoParams.ENABLE; parameter.Enable = true; parameter.AreoRegion = IntPtr.Zero; Areo.AreoWindow(this.Handle, parameter); //将整个窗体背景设置成Areo效果 }
private void cBAreo_CheckStateChanged(object sender, EventArgs e) { Areo.AreoParams parameter; switch (cBAreo.CheckState) { case CheckState.Checked: cBAreo.Text = "窗体背景Areo效果"; parameter = new Areo.AreoParams(); parameter.Flags = Areo.AreoParams.ENABLE; //开启Areo效果 parameter.Enable = true; //开启Areo效果 parameter.AreoRegion = IntPtr.Zero; //区域为整个窗体背景区 Areo.AreoWindow(this.Handle, parameter); //将整个窗体背景设置为Areo效果 break; case CheckState.Indeterminate: cBAreo.Text = "窗体区域Areo效果"; ClearAreoWindow(); //清除原有Areo效果 using (Graphics G = CreateGraphics()) { parameter = new Areo.AreoParams(); //开启Areo效果和区域Areo效果 parameter.Flags = Areo.AreoParams.ENABLE | Areo.AreoParams.REGION; parameter.Enable = true; //开启Areo效果 Rectangle rect = this.ClientRectangle; rect.Inflate(-rect.Width / 4, -rect.Height / 4); regionAreo = new Region(rect); //获取窗体中心区域 parameter.AreoRegion = regionAreo.GetHrgn(G);//设置Areo区域 Areo.AreoWindow(this.Handle, parameter); //将窗体中心区域设置成Areo效果 } break; case CheckState.Unchecked: cBAreo.Text = "窗体无Areo效果"; ClearAreoWindow(); break; default: break; } this.Invalidate(); }