Winform中设置控件边框

本文将会介绍在Winform中如何设置控件的边框,可应用于Form和Panel等。

Panel 控件为例,注册控件的 Paint 事件,使用 DrawBorder 方法来绘制边框。该方法有多个重载,其中最常用的是统一设置边框和分别为四条边单独设置边框。

统一设置边框

使用 ButtonBorderStyle.Solid 枚举项可以直接设置边框

private void panel1_Paint(object sender, PaintEventArgs e)
{
    ControlPaint.DrawBorder(e.Graphics, ClientRectangle, 
           Color.Ivory, ButtonBorderStyle.Solid);
}

单独设置边框

可以为上下左右四条边单独设置边框大小和颜色,这样可以实现四条边不相同的效果。

private void panel1_Paint(object sender, PaintEventArgs e)
{
    ControlPaint.DrawBorder(e.Graphics, panel1.ClientRectangle,
           Color.White, 1, ButtonBorderStyle.Solid, //左边
           Color.White, 1, ButtonBorderStyle.Solid, //上边
           Color.DimGray, 1, ButtonBorderStyle.Solid, //右边
           Color.DimGray, 1, ButtonBorderStyle.Solid);//底边
}
发布时间:2023-10-06
其他阅读

HTTP方法

HTTP报文中包含了方法,指的是客户端希望服务器对资源执行的动作,是一个单独的词,比如GET,POST,OPTIONS等,本文将会介绍主流的几种方法。

查看原文

安卓开发 | 实现输入框自动全选内容

在安卓开发中,当用户手动选中输入框时。输入框内部的内容全部选中是一个比较提升用户体验的功能,主要用在一些复制的场景中。

查看原文

在ASP.NET Core中使用过滤器

ASP.NET Core是一个高性能的Web开发框架,过滤器(Filter)在ASP.NET Core中被用于路由方法之上,可以在路由方法执行前后完成一些额外的操作。本文将会介绍在ASP.NET Core中使用 IActionFilter 实现过滤器并读取路由方法中的参数。

查看原文

Angular 中跨分模块后路由复用问题

当我们的 Angular 应用越来越大后,就需要考虑使用模块或者直接使用库来将解体应用,使用时进来懒加载,加快访问速度。当跨分模块后,普通的路由复用策略就是失效,需要额外的解决方法。

查看原文

C#应用在Windows实现自启动

本文将讲解 C# 应用在 Windows 系统中通过自动设置注册表的形式的形式实现开机自启动,这也是 Windows 系统推荐的做法。

查看原文