请问一下,我在FORM里有个picturebox控件,在程序运行时,我通过键盘方向键改变了picturebox的location属性,但form上的picturebox控件位子并没有改变,我想知道怎么才能使form上的picturebox控件的位子随我的键盘控制而随之改变呢?

解决方案 »

  1.   

    设置Form的KeyPreview属性为trueprivate void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.KeyCode==Keys.Left)
    {
    this.pictureBox1.Location=new Point(this.pictureBox1.Location.X-2,this.pictureBox1.Location.Y);
    }
    else if(e.KeyCode==Keys.Right)
    {
    this.pictureBox1.Location=new Point(this.pictureBox1.Location.X+2,this.pictureBox1.Location.Y);
    }
    }
      

  2.   

    我已经找到问题在那里了,我之前在窗体上有个按纽,点击后picturebox载入图片,结果键盘输入的焦点一直在这个按纽上,键盘按下事件根本就没被窗体收到,全落在按纽那里了,我把这个按纽删除了,再在窗体的load事件里载入图片,这样,焦点就直接落在了窗体上,键盘的控制有就有效了.
     不过还是感谢cpio(就这么简单) 的关注.