반응형

* 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 클릭 시 위 그림의 빨간 테두리 안에 컨트롤들의 모서리가 둥글게 변하는 모습을 보실 수 있습니다.

반응형

+ Recent posts