桑代克的试误说内容:关于用方向键控制图片框的移动

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 03:45:04
显然,如果该窗口中有其他控件(如button),移动方向键就变成在这几个控件间选择了,当然见方向键用字母键来代替就可以了,但是如果依旧要使用方向键,好象只能重写,我试着重写,代码如下:
Inherits System.Windows.Forms.Form
Const WM_KEYDOWN As Integer = &H100
Protected Overrides Function ProcessCmdKey _
(ByRef msg As System.Windows.Forms.Message, _
ByVal keyData As System.Windows.Forms.Keys) As Boolean

If msg.Msg = WM_KEYDOWN Then
If keyData = Keys.Left Then
For i = 0.1 To 100.0

System.Threading.Thread.Sleep(10)
Me.PictureBox1.Location = New System.Drawing.Point(150 - i, 150)
Next
'Return MyBase.ProcessCmdKey(msg, Keys.A)
End If
End If
End Function
虽然实现了图片移动(在有控件焦点的情况下),但是图片移动完后还是有其他控件被相应选择的事情,也就是说好像不是"重写",而是"添加"!这是怎么回事呢?如何解决呢?难道是我重写的方法不对?
另外顺便问一个,如何设定当方向键抬起时图片就不动了?
希望大家帮忙,语言是vb.net
您没看全还是不明白我的意思?

为什么要“重写”呢?直接调图片框的位置不就行了吗?