1. 폼을 생성한다. 

 

2. 도구상자에서 panel(판넬)을 Form(폼)으로 드래그 한다. 

 

3. 판넬 Dock을 Top으로 설정한다. 

 

4. 클래스파일을 추가하고 다음과 같이 코딩한다. 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Monitor0._2.UI_Forms
{
    class DragControl : Component
    {
        private Control handleControl;

        public Control SelectControl
        {
            get
            {
                return this.handleControl;
            }
            set
            {
                this.handleControl = value;
                this.handleControl.MouseDown += new MouseEventHandler(this.DragForm_MouseDown);
            }
        }
        [DllImport("user32.dll")]
        public static extern int SendMessage(IntPtr a, int msg, int wParam, int lParam);
        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();

        private void DragForm_MouseDown(object sender, MouseEventArgs e)
        {
            bool flag = e.Button == MouseButtons.Left;
            if(flag)
            {
                DragControl.ReleaseCapture();
                DragControl.SendMessage(this.SelectControl.FindForm().Handle, 161, 2, 0);

            }
        }
    }
}

5. 다시빌드한다. 

 

6. 도구상자에 DragControl이 생성되어 있다. 이것을 폼으로 드래그 한다. 

 

7. dragControl1 속성의 SelectControl 에서 panel를 지정한다. 

 

+ Recent posts