Csharp’ta PictureBox’ın Form Ekranında Taşınma İşlemi

Bu yazımda Csharp’ta bir windows formu üzerinde yer alan picturebox’ın mouse ile taşınmasına ilişkin bir öeneği ele almak istiyorum. Bunu yapabilmek için özel bir PictureBox yapmamız gerekiyor öncelikle. Windows form uygulaması oluşturalım ve işe başlayalım.

Özel bir PictureBox oluşturabilmek için PictrureBox kontrolünden miras alacak bir class oluşturmam gerekli. Dolayısı ile projeme bir class ekliyorum.

Csharp’ta PictureBox’ın Form Ekranında Taşınma İşlemi

Bu classım formumdam erişebilir olması için public olarak tanımlı. Ben bu classa SuruklenenPictureBox dedim, özel picturebox vs gibi isimler verebilirsiniz. Aşağıdaki kodlarımı yazıyorum.

Csharp’ta PictureBox’ın Form Ekranında Taşınma İşlemi 2

Şimdi bu kodlara baktığımızda Yeni oluşturduğumuz class public tipinde çünkü diğer formlardan erişilebilir olmasını sağlıyorum. Ayrıca PictureBox kontrolümden de miras alıyorum. Bir PictureBox’ın windows form üerinde hareket edebilmesine izin verebilmem için standart olan OnMouseDown ve OnmouseMove eventlerini override etmem gerekli. Öncelikle kodlarımda OnMouseDown eventinde formumda yer alan PictureBox kontrolünün konum bilgisini alıyorum. Bunun için ayrıca Point classından point adında bir nesne aldım.

Amacım OnMouseDown eventi ile elde ettiğim ilk pozisyon bilgisini, daha sonra OnMouseMove ile elde ettiğim pozisyon bilgisi ile güncellemek.

Yukarıdaki kodları yazdıktan sonra uygulamamı rebuil ediyorum. Daha sonra solda yer alan toolbox kısmına özel oluşturduğum SuruklenenPictureBox geliyor. Bundan iki adet alıyor ve formuma ekliyorum. İkisine de ayrı ayrı image ekledim.

Csharp’ta PictureBox’ın Form Ekranında Taşınma İşlemi 3

Formumu çalıştırdığımda form üzeirnde yer alan pictureboxları mouse’un sol tuşu yardımı ile taşıyabildiğinizi göreceksiniz. 😊

Csharp’ta PictureBox’ın Form Ekranında Taşınma İşlemi 4

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir