アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB.NETのVBで電卓を作成しているのですが、
コントロール配置に類似したものがうまくできず
先に進むことができません。
数字の0~9を押したときに、テキストボックスに
表示できるようにするには、どうすればよいのでしょうか?

コードは
Private Sub cmd_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _
Handles cmd1.Click, cmd2.Click, cmd3.Click, _
cmd4.Click,cmd5.Click, cmd6.Click, _
cmd7.Click, cmd8.Click,cmd9.Click, _
cmd0.Click

Dim btn As Button = CType(sender, Button)
Dim No As String = CType(btn.Tag, String)
txtDisplay.Text = No
Select Case cmd.Name 'ボタン名を参照
Case "cmd1" : No = "1"
Case "cmd2" : No = "2"
Case "cmd3" : No = "3"
Case "cmd4" : No = "4"
Case "cmd5" : No = "5"
Case "cmd6" : No = "6"
Case "cmd7" : No = "7"
Case "cmd8" : No = "8"
Case "cmd9" : No = "9"
Case "cmd0" : No = "0"

End Select

End Sub
です。

Handles cmd1.Click, cmd2.Click, cmd3.Click, _
cmd4.Click,cmd5.Click, cmd6.Click, _
cmd7.Click, cmd8.Click,cmd9.Click, _
cmd0.Click
のclickの部分が、青線のエラーがでます。
〔内容は、指定されているシグネチャが違います。〕

また、Select Case cmd.Name 'ボタン名を参照
のcmdがcmdは宣言されていません。とのエラーがでました。

長々となっていまい大変失礼しました。
どのようにすれば、数字キーをクリックしたときに
テキストに表示されるようになるのでしょうか?

A 回答 (2件)

_ ByVal e As


'↑_は行を分けるためにあるので,わけないなら不要
'中略

'txtDisplay.Text = No '電卓なので先に代入するのではなく
Select Case cmd.Name 'ボタン名を参照

'(中略)

End Select

txtDisplay.Text = No 'ここにあるべきかと思うんだが
    • good
    • 0

Tagプロパティに対応する値を設定したのら、


Select Case cmd.Name 'ボタン名を参照
Case "cmd1" : No = "1"
Case "cmd2" : No = "2"
Case "cmd3" : No = "3"
Case "cmd4" : No = "4"
Case "cmd5" : No = "5"
Case "cmd6" : No = "6"
Case "cmd7" : No = "7"
Case "cmd8" : No = "8"
Case "cmd9" : No = "9"
Case "cmd0" : No = "0"

End Select

は不要です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!