2016-04-14 16 views
0

Windows Formumda Resim Kutusu gibi bir kontrolüm olduğunu ve kullanıcının istediği yere istediği yere serbest bir şekilde tuvalin etrafından sürüklenmesini istedim. Bunu yapmanın en iyi yolu ne olurdu?Panelin etrafında kontrol nasıl sürüklenir?

Ardından, görüntünün konumunu panelde alabilmek istiyorum. Açıkçası, MouseDown olayına ihtiyacım vardı ve ilk fikrim, kontrolün yerini, imleçlerin bulunduğu yere eşit olacak şekilde ayarlamak olurdu, ama bu, glitchy ve pürüzsüz değil.

+1

Bunu deneyin http://stackoverflow.com/questions/3868941/how-to-allow-user-to-drag-a-dynamically-created-control-at-the-location-of-his-c – drew

cevap

-1
  1. Başlat yeni Konu

    Thread thr = new Thread(() => 
    { 
        while(true) 
        { 
         Thread.Sleep(10) // < Limit CPU usage 
         if(mouseDownBool == true) 
         { 
          icontrol.Location = new Point(Cursor.Position.X, Cursor.Position.Y); 
         } 
        } 
    }); 
    thr.Start(); 
    
  2. Eğer mouseDown güncelleme mouseDownBool true

  3. mousUp güncelleme mouseDownBool Eğer

false Ayrıca daha iyi etki için ofset ekleyebilirler .

0

Bu mesaj hem HERE ... yardımcı olabilecek ve çıkışını görüntülemek için, basitçe bir etiket veya metin kutusu ekleyin ve benzeri coordinates- şey görüntülemek:

textbox1.Text = pictureBox1.Location.ToString(); 

ya göre koordinatlarını almak: (tamsayılardır) (bir nokta)

pictureBox.Location -veya-
pictureBox.Location.X // pictureBox.Location.Y

İlgili konular