- 締切済み
電卓の数字0~9までのボタンをクリックした時
VB.NETでの質問です。 電卓の数字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, _ cmd.Click, cmd8.Click,cmd9.Click, _ cmd0.Click Dim cmd As Button Dim No As String cmd = CType(sender, Button) 'イベント発生元のボタン情報を取得 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 エラーは cmd.clickで指定されているメゾットで表示できません。 cmdは宣言されていません。 ということでした。 どうすれば、電卓の数字をクリックしたときに、 ラベルに表示できますか? よろしければ添削お願いいたします。 助言でも結構ですので、申し訳ありませんが よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- unamana19
- ベストアンサー率62% (56/89)
VB6では簡単にできていたコントロール配列ですね。 まず、エラーの原因は、cmd_Clickイベントに割りついている 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, _ cmd.Click, cmd8.Click,cmd9.Click, _ cmd0.Click の、"cmd.Click"が"cmd7.Click"なのでしょう。 あと、ボタンより数字を特定するのに、Tagなどを利用すると簡単 になります。各ボタンのTagプロパティに対応する数字をセット しておけば、 Dim btn As Button = CType(sender, Button) Dim No As String = CType(btn.Tag, String) lblTest.Text = No こんな感じになります。