2011-08-08 16 views
1

私はそのようなことをしたい: 私は画像を持つフォームを持っています。私は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フォームのように動作する(私はそれが正常に見える通常のウィンドウを移動する)が、私のメソッドはひどく見える、Pどのようにそれを作るアイデア?

答えて

1

WinAPIを使用する必要があります。 hereを参照してください。

+0

ありがとうございます。私は余分な質問で私の投稿を編集する – nirmus

+0

編集のための新しい質問を投稿してください。 –

+0

http://stackoverflow.com/questions/6981006/problems-with-moving-windowそれは今のところ質問のリンクです – nirmus