Bu makalemde sizlere Devexpress kullanarak çerçevesiz windows form sürükleme işlemini anlatacağım. Bu yazım; formu çerçevesiz yaptıktan sonra sürükleme işleminin yapılmaması ve buna bir çözüm arayışı içinde olanlara yöneliktir.

Öncelikle bir Windows Form açınız. Ardından Formun özellikler penceresindeki (Properties), FormBorderStyle özelliğini “none” olarak ayarlayınız. Şimdi projenizi çalıştırınız ve formu mouse ile sürüklemeye çalışınız. Sürüklenmediğini göreceksiniz. Şimdi bunu bir iki satır kod ile çözeceğiz. Debug işlemini durdurun ve formun kod ekranına geçin.

namespace Surukleme
{
    public partial class AnaMenu : XtraForm
    {
        private Point mouseDownPoint = Point.Empty;

        public AnaMenu()
        {
            InitializeComponent();
        }

InitializeComponent(); üzerine yukarıdaki gibi Point mouseDownPoint kodunu ekleyin.
Ardından formun Olaylar penceresinden (Properties in üst tarafındaki bulunan şimşek işareti) Mouse Up, Mouse Down, Mouse Move olaylarına çift tıklayınız ve aşağıdaki kodları ekleyiniz.

        private void Surukleme_MouseDown(object sender, MouseEventArgs e)
        {
            mouseDownPoint = new Point(e.X, e.Y);
        }

        private void Surukleme_MouseUp(object sender, MouseEventArgs e)
        {
            mouseDownPoint = Point.Empty;
        }

        private void Surukleme_MouseMove(object sender, MouseEventArgs e)
        {
            if (mouseDownPoint.IsEmpty)
                return;
            var f = sender as Form;
            f.Location = new Point(f.Location.X + (e.X - mouseDownPoint.X), f.Location.Y + (e.Y - mouseDownPoint.Y));
        }

Şimdi tekrar projenizi çalıştırınız.(F5) Formunuzun mouse ile sürüklendiğini göreceksiniz. Bu kadar kolay.