반응형
사용자 지정 컨트롤을 넣고
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 45 46 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class LineComboBox : ComboBox { public LineComboBox() { InitializeComponent(); this.DropDownStyle = ComboBoxStyle.DropDownList; this.DrawMode = DrawMode.OwnerDrawFixed; } protected override void OnDrawItem(DrawItemEventArgs e) { if(e.Index < 0) return; int startX = e.Bounds.Left + 5; int startY = (e.Bounds.Y + e.Bounds.Height / 2); int endX = e.Bounds.Right - 5; int endY = (e.Bounds.Y + e.Bounds.Height / 2); using (Pen p = new Pen(Color.Blue, (Int32)this.Items[e.Index])) { e.Graphics.DrawLine(p, new Point(startX, startY) , new Point(endX, endY)); } base.OnDrawItem(e); } protected override void OnPaint(PaintEventArgs pe) { base.OnPaint(pe); } } } | cs |
콤보박스를 상속받아서 코딩
이제 윈폼디자인 화면에서 컴파일을 하면 LineComboBox라는 컨트롤이 생성된다.
마지막으로 필요한 선두께를 넣어주면 끝~
'프로그래밍 > C#' 카테고리의 다른 글
[C#]폼을 투명하게 (0) | 2018.04.14 |
---|---|
[C#]소켓으로 이미지 전송하기 Thread로 여러장 보내기 merong-답글소스 (0) | 2018.04.10 |
[C#]웹폰트를 윈도우폼에 적용해 보자 (1) | 2018.04.01 |
[C#]그라디에이션 (0) | 2018.03.18 |
[C#] Text를 읽기 (0) | 2018.03.01 |