- ベストアンサー
VB.NET 電卓作成 コントロール配置
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は宣言されていません。とのエラーがでました。 長々となっていまい大変失礼しました。 どのようにすれば、数字キーをクリックしたときに テキストに表示されるようになるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
_ ByVal e As '↑_は行を分けるためにあるので,わけないなら不要 '中略 'txtDisplay.Text = No '電卓なので先に代入するのではなく Select Case cmd.Name 'ボタン名を参照 '(中略) End Select txtDisplay.Text = No 'ここにあるべきかと思うんだが
その他の回答 (1)
- unamana19
- ベストアンサー率62% (56/89)
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 は不要です。