在按下Enter键时,需要VB.net 2005中的帮助来执行逻辑

时间:2017-04-03 16:00:26

标签: vb.net

我想在按下 Enter 键的任何时候显示MessageBox。我已经在vb.net 2013中完成了这项工作,但是在vb.net 2005年试图完成同等工作时,我没有取得成功。

下面,我将展示在Form_Load子例程中创建列的代码。然后,我给出了Qty_change子程序的代码。

然后,我有Qty_change标题的替代版本。对于QTY_CHANGESUB LOAD ...ETC ETC... quantityItem = New ScrollableListItem((My.Resources.Resource.StrQuantity & ":" & vbTab) + quantityText, Nothing, Nothing, "quantity") quantityItem.EditControl = textBox quantityItem.Validator = quantityValidator AddHandler quantityItem.ItemChanged, AddressOf QTY_Change END SUB Sub QTY_Change(ByVal sender As System.Object, ByVal e As System.EventArgs) If e.KeyValue = 13 Then MessageBox.Show("Response") End If End Sub ,我都显示了错误。什么是正确的代码?

Sub QTY_Change(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs)   
  

错误:' KeyValue'不是System.EventArgs'

的成员
$body = @"
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
<soapenv:Header/>
<soapenv:Body>
...rest of code here asd
</soapenv:Body>
</soapenv:Envelope>
"@
  

错误:方法&#39;公共子QTY_CHange&#39;没有与委托相同的签名&#39;委托子EventHandler(发件人作为对象,e作为system.eventargs)&#39;

1 个答案:

答案 0 :(得分:6)

当然,您会在AddHandler方法上遇到错误 - KeyPress EventArgs需要执行您要执行的操作,而不是System EventArgs

Form_Load事件中,您需要一些与此相关的内容

Me.KeyPreview = True
AddHandler Me.KeyDown, AddressOf QTY_Change

然后,将您的QTY_Change代码更改为以下内容:

Private Sub QTY_Change(ByVal o As Object, ByVal e As KeyEventArgs)

    If e.KeyCode = Keys.Enter Then
        e.SuppressKeyPress = True
        MessageBox.Show("Response!", "", MessageBoxStyle.OK)
    End If
End Sub