添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
奋斗的奔马  ·  [SOLVED] Oracle ...·  4 天前    · 
善良的手电筒  ·  TypeError: cannot do ...·  1 周前    · 
玩篮球的韭菜  ·  boxGrob function - ...·  1 月前    · 
儒雅的豆芽  ·  FPGA ERROR DRC INBB-3 ...·  1 月前    · 
逃课的充电器  ·  PyQT Tutorial·  1 月前    · 
耍酷的啄木鸟  ·  Developer Community·  12 月前    · 
很拉风的香菜  ·  Unity 之 ...·  1 年前    · 
稳重的红豆  ·  ERROR 2002 (HY000): ...·  1 年前    · 
俊逸的卡布奇诺  ·  Unable to install ...·  1 年前    · 

如何给groubox控件添加修改边框颜色属性

你遇到过类似问题吗?修改C#界面背景边框之后,控件边框总是默认白色,无法修改,以GroupBox控件为例,如图1.1所示,这样界面看起来会非常难看。
在这里插入图片描述 图1.1
由于C#中GroupBox控件没有改变控件边框颜色的属性,所以为了改变GroupBox控件的边框颜色,需要重新定义一个GroupBoxBC控件,并为其添加改变控件边框颜色的属性,具体实现过程如下:
首先右键项目名称然后点击添加,然后选择组件,然后选择用户控件,并将命名为GrouBoxC,最后点击添加按钮,操作流程如图1.2和1.3所示。 在这里插入图片描述
图1.2
在这里插入图片描述
图1.3
因为我们要给GroupBoxBC添加方法,所以点击代码视图,编写代码,如图1.4点击红色边框内的蓝色部分。 在这里插入图片描述
图1.4
然后添加属性代码,代码中需要注意的地方已经给出注释,具体请看代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;     //需要添加的命名空间1
using System.Drawing;           //需要添加的命名空间2
namespace GrouboxAttribute
    public partial class GroupBoxBC : GroupBox  //让自定义控件继承GroupBox控件
        public GroupBoxBC()
            InitializeComponent();
        public GroupBoxBC(IContainer container)
            container.Add(this);
            InitializeComponent();
        //设置控件边框默认颜色为黑色
        private Color _BorderColor = Color.Black;
        //添加边款属性
        [Browsable(true), Description("边框颜色"), Category("自定义分组")]
        public Color BorderColor
            get { return _BorderColor; }
                _BorderColor = value;
                this.Invalidate();
        //设置控件的字体和size
        protected override void OnPaint(PaintEventArgs e)
            var vSize = e.Graphics.MeasureString(this.Text, this.Font);
            // e.Graphics.Clear(this.BackColor);
            e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), 10, 1);
            Pen vPen = new Pen(this._BorderColor);
            e.Graphics.DrawLine(vPen, 1, vSize.Height / 2, 8, vSize.Height / 2);
            e.Graphics.DrawLine(vPen, vSize.Width + 8, vSize.Height / 2, this.Width - 2, vSize.Height / 2);
            e.Graphics.DrawLine(vPen, 1, vSize.Height / 2, 1, this.Height - 2);
            e.Graphics.DrawLine(vPen, 1, this.Height - 2, this.Width - 2, this.Height - 2);
            e.Graphics.DrawLine(vPen, this.Width - 2, vSize.Height / 2, this.Width - 2, this.Height - 2);
然后重新生成解决方法,打开工具箱就可以看到自定义的窗体了,如图1.5所示。

在这里插入图片描述图1.5
添加到窗体上,通过修改属性BorderColor可以更改边框颜色,看一下效果:在这里插入图片描述图1.6
在这里插入图片描述
图1.7
Ok,大功告成啦!!!

@TO## 标题C欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行 网上很多都说使用 OnPaint 事件,但是我在事件列表中没找到,应该是隐藏得太深了(需要用 override 关键字来重写)。我这里直接使用了 Paint 事件,也可以达到其效果。 感谢:C#更改groupbox边框颜色_菜鸟的博客-CSDN博客_groupbox边框颜色 创建:在对话框OnInitDialog()函数中 m_group.Create(L"姜山", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, CRect(100, 100, 500, 300), this, 10000); 运行效果:
近期项目(C#)中有个关于界面的需求,要给groupbox设置边框颜色,VS中没有找到直接能修改属性。经过一番查询,找到了答案,在groupbox的Paint事件中修改groupBox1.Paint += new PaintEventHandler(FnWidget.setGroupBoxBorder); //修改GroupBox边框颜色 public static void set...
HBRUSH CInfoBridgeDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 if (pWnd->GetDlgCtrlID() == IDC
private void groupBox1_Paint(object sender, PaintEventArgs e)             e.Graphics.Clear(groupBox1.BackColor);             e.Graphics.DrawString(groupBox1.Text, groupBox1.Font, Brushes.
自己做项目时研究的  希望对看官有所帮助 因为在网站上看了好多对于边框颜色改变 不是重写Paint方法  就是 把边框隐藏 还有就是重新在原有的方法上扩展GroupBox属性 GroupBox边框好像是 圆角矩形的  重写的方法好像是 直角矩形  费解!~~反正不是本人想要的  今天我跟大家唠嗑 我自己研究的小方法 1.因为WIN7和XP系统不一样所以那个把GroupBox
分组框通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。布局时可用作一组控件的容器,但是需要注意的是,内部必须使用布局控件(如QBoxLayout)进行布局。 //创建复选框 QGroupBox *groupBox = new QGroupBox(tr("服务器配置")); groupBox->setFlat(false);//边框是否有线 groupBox-&
WPF之GroupBox样式_边框透明XAML:GroupBox引用:效果:使用前:使用后: XAML: <BorderGapMaskConverter x:Key="BorderGapMaskConverter"/> <Style x:Key="GroupboxWithoutBorder" TargetType="{x:Type GroupBox}"> <Setter Property="BorderBrush" Value="#D5D
在WPF中,当GroupBox没有标题时,边框会有一个缺口。这是因为GroupBox控件默认的样式将标题的高度和边框的高度合并在一起,从而导致边框在没有标题时出现缺口。 要解决这个问题,可以通过修改GroupBox的样式来修复边框的缺口。首先,需要创建一个新的样式,然后在样式中调整边框和标题的布局位置。 在样式中,需要设置GroupBox边框为一个新的Border控件,同时设置边框的Margin属性为负值,以覆盖默认的边框位置。另外,需要将边框的高度设置为GroupBox的高度减去标题的高度,这样就可以消除边框的缺口。 在样式中还可以通过设置Padding属性来调整GroupBox的内部边距,使内容与边框之间有适当的间距。 最后,将新的样式应用到GroupBox控件上即可,这样就可以实现无标题情况下边框无缺口的效果。 总的来说,通过调整GroupBox的样式可以解决无标题情况下边框出现缺口的问题。通过设置边框的Margin属性和高度,以及调整内部边距,可以使边框与内容对齐,并且无缺口。