Form Border Style: None olan Formu Sürükleme
Bu Yazımda yine pratik bir bilgi olması için ve arşivlediğim kodların kaybolmaması için sizinle paylaşacağım.
WinForm uygulaması geliştirirken bazı durumlarda daha güzel tasarımlar yaratmak için çerçevesiz formlar kullanırız. Fakat bunları normal formlar gibi ekranın istediğimiz yerine sürükle bırak ile götürmek mümkün olmuyor, tabii aşağıda ki kodları kullanmadıysanız 🙂
// Öncelikle using olarak interop classını çağırmamız gerekiyor using System.Runtime.InteropServices; // Ve bu çağırdığımız Class ile aşağıdaki DLL'leri implement ediyoruz [DllImportAttribute("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImportAttribute("user32.dll")] public static extern bool ReleaseCapture(); public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPTION = 0x2; // Son olarak Form üzerinde hangi alandan formu tutup sürüklemek istiyorsak o nesnenin "Mouse_Down" eventine aşağıdaki kodları yazıyoruz. if (e.Button == MouseButtons.Left) { ReleaseCapture(); SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); }
Kısa bir not daha düşeyim. Form üzerine bir Panel ekleyip, o Panelin Dock özelliğini de “Top” olarak verirseniz normal formlarda olan gibi üst alandan tutarak pencereyi sürükleyebilirsiniz.
Bir yanıt yazın