Form Border Style: None olan Formu Sürükleme

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.

Paylaş :

Bu gönderiyi paylaş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.