移动窗口的方法

时间:2011-08-08 09:46:31

标签: c# window refresh

我想做那样的事情: 我有图片的形式,当我点击它时,我想用这张图片显示新窗口(它必须是图片,没有一些工具箱或边框)。继续我希望能够移动这个窗口(当我按下鼠标上的按钮并移动鼠标时,当我移动鼠标时,当我向上按钮窗口不移动时,此窗口必须随光标移动。)

我这样做: 创建新的窗口窗体,删除工具栏,边框,添加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 个答案:

答案 0 :(得分:1)

您需要使用WinAPI。请参阅here