반응형
* C# API 이용 컨트롤 (Control) 모서리 둥글게 만들기 예제...
전체 소스 코드
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace CSharp_RoundControl
{
public partial class Form1 : Form
{
[DllImport("gdi32.dll")]
private static extern IntPtr CreateRoundRectRgn(int x1, int y1, int x2, int y2,
int cx, int cy);
[DllImport("user32.dll")]
private static extern int SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool bRedraw);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//15 로 전달 되어 있는 인자 -> 실제 모서리 둥글게 표현 하는 인자
IntPtr ip = CreateRoundRectRgn(0, 0, label1.Width, label1.Height, 15, 15);
int i = SetWindowRgn(label1.Handle, ip, true);
IntPtr ip2 = CreateRoundRectRgn(0, 0, textBox1.Width, textBox1.Height, 15, 15);
int i2 = SetWindowRgn(textBox1.Handle, ip2, true);
this.Refresh();
}
}
}
* 예제 결과
Button 클릭 시 위 그림의 빨간 테두리 안에 컨트롤들의 모서리가 둥글게 변하는 모습을 보실 수 있습니다.
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] 인터넷 연결 체크 (Internet Connect Check) (0) | 2020.01.21 |
---|---|
[C#] 텍스트 파일 읽기 (Txt File Read) - 한글 깨짐 방지 (0) | 2020.01.19 |
[C#] 숫자 (금액) 을 한글로 변환 (1) | 2020.01.13 |
[C#] IP Ping Check (0) | 2020.01.11 |
[C#] [API] PC (종료,재시작) 또는 Diagnostics.Process 이용 PC (종료,재시작) (1) | 2020.01.03 |