2011-08-08 87 views
1

我想做類似這樣的事情: 我使用圖片創建窗體,當我點擊某個窗體時,我想用此圖片顯示新窗口(它只能是圖片,沒有工具箱或邊框)。繼續我希望能夠移動此窗口(當我按下鼠標上的按鈕並移動鼠標時,此窗口必須隨光標移動,當我移動鼠標時,向上按鈕窗口不會移動)。移動窗口的方法

我這樣做: 使新窗口窗體,刪除工具欄,邊框,添加pictureBox,在mouseDown,mouseUp和mouseMove上添加方法。代碼方法:

private void FormZdjecie_MouseDown(object sender, MouseEventArgs e) { 
     buttonUp = false; 
     previous = e.Location; 
    } 

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { 
     buttonUp = true; 
    } 

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { 
     if (!buttonUp) { 

      Point diff = new Point(); 
      diff.X = e.X - previous.X; 
      diff.Y = e.Y - previous.Y; 

      this.Location = new Point(this.Location.X + diff.X, this.Location.Y + diff.Y); 

      previous = e.Location; 
     } 
    } 

我工作,但刷新很慢。它如何工作像Windows窗體(當我移動正常的Windows窗體看起來很好),但我的方法看起來很糟糕; p任何想法如何使它?

回答

1

您需要使用WinAPI。見here

+0

謝謝,它的工作原理。我編輯我的帖子額外的問題 – nirmus

+0

請發佈一個新的問題編輯。 –

+0

http://stackoverflow.com/questions/6981006/problems-with-moving-window它的鏈接現在問題 – nirmus