Formun başlık kısmını gizlediğimiz durumlarda, formu hareket ettirebilmek için Toolbox menüsündeki kontrolleri kullanabiliriz. Örnek olarak form üzerine bir panel yerleştirip, bu panel yardımıyla formumuzu nasıl hareket ettireceğimizi inceleyeceğiz. Panel yerine herhangi bir kontrol kullanarak da, aynı işlemleri gerçekleştirebilirsiniz.
Formun Başlık Kısmını Gizleme
Formun başlık kısmını gizlemek için Form’un özelliklerine (Properties) girip, FormBorderStyle kısmını None yapmanız yeterli. Formun başlığını gizleyip, gizlememek tamamen isteğe bağlı bir durum. Örneğimizde standart form başlığı yerine, kendi tasarladığımız form başlığını kullanmak istediğimiz için, standart form başlığını gizlemeyi tercih ettik.
Kontroller ile Formu Hareket Ettirme
Yukarıda ki resimde de görüldüğü gibi, formun başlığını yok edip, forma bir panel aktardık ve o panelin arka plan rengini değiştirerek, formun başlığı gibi görünecek şekilde boyutlandırdık. Panel üzerine 2 adet buton yerleştirip, tıpkı standart form başlığında olduğu gibi programı simge durumuna getirme ve kapatma işlemlerini yapmaları için, formun sağ üst köşesine konumlandırdık.
Paneli mouse ile hareket ettirdiğimizde, formunda panel ile birlikte hareket etmesini sağlamak için panelin MouseMove, MouseUp ve MouseDown Event’lerine aşağıdaki kodları yazıyoruz.
int Move; int Mouse_X; int Mouse_Y; private void panel1_MouseUp(object sender, MouseEventArgs e) { Move = 0; } private void panel1_MouseDown(object sender, MouseEventArgs e) { Move = 1; Mouse_X = e.X; Mouse_Y = e.Y; } private void panel1_MouseMove(object sender, MouseEventArgs e) { if (Move == 1) { this.SetDesktopLocation(MousePosition.X - Mouse_X, MousePosition.Y - Mouse_Y); } }
Kodları direk buradan kopyalayıp forma yapıştırmak yerine, Panel’in özelliklerine(Properties) girip, Olaylar(Events) kısmından, MouseDown, MouseUp, MouseMove Event’lerini tek tek açıp, içerisine yukarıdaki kodlar yazılmalıdır.
Örneğimizde panel kullandık ancak sizler panel yerine buton veya herhangi bir kontrol kullanabilirsiniz. Hangi kontrolü kullanıyorsanız, o kontrolün MouseDown, MouseUp, MouseMove event’lerine yukarıdaki kodları yazmanız gerekmektedir.
Serdar Yılmaz
Kısa ve öz bir anlatım olmuş. Elinize sağlık
Merhaba, her şeyden önce emeğinize sağlık, çok işe yarayan bir kod. Ancak her forma ayrı ayrı bu kodları yazmak yerine kodlar “Class” haline getirilebilir mi? Tekrar teşekkürler
SÜPER
Elinize sağlık