• 當前位置:首頁 > IT技術 > Windows編程 > 正文

    C#窗體控件GroupBox修改邊框色
    2022-05-11 11:04:09

    ?控件Group Box默認的邊框的顏色是白色的,在很多時候顯得不那么突出。但默認的屬性列表里面并沒有提供相應的接口。所以只能借助重繪事件。

    ??????? 網上很多都說使用 OnPaint 事件,但是我在事件列表中沒找到,應該是隱藏得太深了(需要用 override 關鍵字來重寫)。我這里直接使用了 Paint 事件,也可以達到其效果。

    ?感謝:http://blog.csdn.net/haoduo123456789001/article/details/51083223

    public partial class TestForm : Form
        {
    
            public TestForm()
            {
                InitializeComponent();
    
                this.groupBox1.Paint += groupBox_Paint;
                this.groupBox2.Paint += groupBox_Paint;
            }
    
            void groupBox_Paint(object sender, PaintEventArgs e)
            {
                GroupBox gBox = (GroupBox)sender;
    
                e.Graphics.Clear(gBox.BackColor);
                e.Graphics.DrawString(gBox.Text, gBox.Font, Brushes.Red, 10, 1);
                var vSize = e.Graphics.MeasureString(gBox.Text, gBox.Font);
                e.Graphics.DrawLine(Pens.Red, 1, vSize.Height / 2, 8, vSize.Height / 2);
                e.Graphics.DrawLine(Pens.Red, vSize.Width + 8, vSize.Height / 2, gBox.Width - 2, vSize.Height / 2);
                e.Graphics.DrawLine(Pens.Red, 1, vSize.Height / 2, 1, gBox.Height - 2);
                e.Graphics.DrawLine(Pens.Red, 1, gBox.Height - 2, gBox.Width - 2, gBox.Height - 2);
                e.Graphics.DrawLine(Pens.Red, gBox.Width - 2, vSize.Height / 2, gBox.Width - 2, gBox.Height - 2); 
            }
    
            private void TestForm_Load(object sender, EventArgs e)
            {
                
            }
        }

    ?

    本文摘自 :https://www.cnblogs.com/

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码