Поиск по этому блогу

C# Windows Form Перемещение формы за любой объект

C# Windows Form Перемещение формы за любой объект
        public Form1()
        {
            InitializeComponent();
            this.MouseDown += MouseMoveForm;
            //label1.MouseDown += MouseMoveForm;
            //button1.MouseDown += MouseMoveForm;
            //pictureBox1.MouseDown += MouseMoveForm;
        }
        private void MouseMoveForm(object sender, MouseEventArgs e)
        {
            base.Capture = false; // <- Основной объект "Окно формы"
            // указываем все объекты за которые можно перетаскивать форму
            // label1.Capture = false;
            // button1.Capture = false;
            // pictureBox1.Capture = false;
            Message m = Message.Create(base.Handle, 0xa1, new IntPtr(2), IntPtr.Zero);
            this.WndProc(ref m);
        }
        public Form1()
        {
            InitializeComponent();
            this.MouseDown += MouseMoveForm;
        }         private void MouseMoveForm(object sender, MouseEventArgs e)
        {             ReleaseCapture();             SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);         }           private const int WM_NCLBUTTONDOWN = 0x00A1;         private const int HT_CAPTION = 0x0002;           [DllImport("user32.dll")]         private static extern bool ReleaseCapture();           [DllImport("user32.dll")]         private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);