Hai mede-tweakerts!
Ik heb met c# een custom control gemaakt, namelijk een eigen groupbox zodat de borderkleur is aan te passen. Werkt netjes maar als ik mijn form verplaats zodat een deel uit het scherm valt en dan terug sleep hertekent hij deze control niet zodat er allemaal strepen etc op komen. Aanschouw volgende afbeelding van voor en na verslapen:

De code: (deels schaamteloos gejat van internet)
Ik heb met c# een custom control gemaakt, namelijk een eigen groupbox zodat de borderkleur is aan te passen. Werkt netjes maar als ik mijn form verplaats zodat een deel uit het scherm valt en dan terug sleep hertekent hij deze control niet zodat er allemaal strepen etc op komen. Aanschouw volgende afbeelding van voor en na verslapen:

De code: (deels schaamteloos gejat van internet)
C#: GrpBox.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Projectshizzle { public partial class GrpBox : Control { private Color borderColor; public Color BorderColor { get { return this.borderColor; } set { this.borderColor = value; } } public GrpBox() { this.borderColor = Color.Black; SetStyle(ControlStyles.ResizeRedraw, true); SetStyle(ControlStyles.UserPaint, true); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Size tSize = TextRenderer.MeasureText(this.Text, this.Font); Rectangle borderRect = e.ClipRectangle; borderRect.Y += tSize.Height / 2; borderRect.Height -= tSize.Height / 2; ControlPaint.DrawBorder(e.Graphics, borderRect, this.borderColor, ButtonBorderStyle.Solid); Rectangle textRect = e.ClipRectangle; textRect.X += 6; textRect.Width = tSize.Width; textRect.Height = tSize.Height; e.Graphics.FillRectangle(new SolidBrush(this.BackColor), textRect); e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), textRect); } } } |