2017-04-03 4 views
-8

を入力すると、キーが押されたときにいつでもMessageBoxを表示したいと思います。私はvb.net 2013でこれを行いましたが、vb.net 2005で同等のことをしようとすると、私は成功していません。Enterキーが押されたときにロジックを実行するためにVB.net 2005のヘルプが必要

以下、サブルーチンに列を作成するためのコードを示します。次に、Qty_changeサブルーチンのコードを渡しました。

次に、Qty_change見出しの代替バージョンがあります。両方ともQTY_CHANGEの場合、私はエラーを表示しています。正しいコードは何ですか?

SUB 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 

Error: 'KeyValue' is not a member of 'System.EventArgs'

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

Error: Method 'Public sub QTY_CHange' does not have the same signature as delegate 'Delegate Sub EventHandler(sender as object,e as system.eventargs)'

+6

あなたは11の質問をしましたが、一度も答えを受け入れたことはありません。それは本当に誰もあなたを助けることを奨励していません。 – MrZander

+1

私の問題を実際に解決した答えをあなたが受け取っていれば、私はあなたの答えを受け入れるでしょう。 – user3637652

+3

これは無礼な場所ではありません。あなたは今、さらに誰かに答えて助けてくれるのをやめさせています - _ニースに!_ – David

答えて

6

もちろんさてあなたはAddHandler方法でエラーを取得するつもりだ - KeyPress EventArgsは、あなたが何をしようとして行うことを要求されている、ではないSystem EventArgs。あなたのイベントで

、あなたは、その後、この

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 
関連する問題