2013-06-23 107 views
2

所以我試圖將一個pictureBox移動到面板上。問題在於picturebox沒有落在鼠標的座標上,而是落在其他地方。PictureBox不在正確的座標上

private void pictureBox1_MouseDown(object sender, MouseEventArgs e) 
    { 
     pictureBox1.DoDragDrop(pictureBox1,DragDropEffects.Copy); 
    } 

    private void panel1_DragEnter(object sender, DragEventArgs e) 
    { 
     e.Effect = DragDropEffects.Copy; 

    } 

    private void panel1_DragDrop(object sender, DragEventArgs e) 
    { 
     e.Effect = DragDropEffects.Copy; 
     pictureBox1.Location = new Point(e.X,e.Y); 
    } 

我的代碼有什麼問題?

回答

2

e.Xe.Y代表屏幕座標,它似乎你正在尋找客戶端座標。

pictureBox1.Location = panel1.PointToClient(new Point(e.X, e.Y)); 
+0

OMG有這麼多的技巧。我不知道你們如何回答關於SO的問題,記得那麼多優點。無論如何真正感謝你。 –

+0

不客氣! (其中很多都是以前遇到類似的問題:D) – keyboardP