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

VB.NET 2005では、
VB.NETにはコントロール配列は存在しないらしいので、それに類似した処理をどう行うかを教えていただきたいのです。
電卓の数字0~9までのボタンをクリックした時
どうすればよいのでしょうか?
作成中のコードです。
Option Explicit On
Public Class frmMain
Dim dData1 As Double, dData2 As Double '数値記憶用
Dim SuuFlag As Boolean '数字キー用
Dim EFlag As Boolean '演算キー用
Dim Enzan As Integer '演算種類記憶用(+:0,-:1,*:2,/:3,4:=)
Const NONE = -1
Const TASU = 0
Const HIKU = 1
Const KAKERU = 2
Const WARU = 3
Const EQU = 4



Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dData1 = 0 '数値記憶用変数の初期化
dData2 = 0
Enzan = NONE '演算種類初期値
SuuFlag = False
EFlag = False

End Sub

Private Sub cmd_Click(ByVal Index As Integer)
'0が1文字だけ、または、演算キーを押した後の時
If txtDisplay.Text = "0" Or SuuFlag = False Then
txtDisplay.Text = "" '0を消す
dData2 = 0
End If
If Index <= 9 Then '0 - 9 数字
txtDisplay.Text = txtDisplay.Text & Trim(Str(Index))
ElseIf Index = 10 Then '.小数点
If txtDisplay.Text = "" Then '最初が小数点
txtDisplay.Text = "0."
ElseIf InStr(txtDisplay.Text, ".") = 0 Then '小数点無し
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
SuuFlag = True
End Sub

End Class


数字のオブジェクト名は
1=cmd1
2=cmd2
3=cmd3
0=cmd0 ~といった感じです。
この先、数字を表示させるには
いったいどうすればよいのでしょうか。
大変申し訳ないのですが、回答お願いいたします。

A 回答 (2件)

こんにちは


テキストボックスに入力した数値を表示させることに絞って回答します。unamana19さんが提案したTagプロパティを使用した場合です。

各数値ボタンのTagプロパティは以下のようにします。
もちろん表示用テキストボックスのTextAlignは右寄せに設定します。
 cmd1のTagに1を設定する
 cmd5のTagに5を設定する ...

コマンドボタンがクリックされた時のイベントプロシージャに
 txtDisplay.Text &= sender.Tag
 txtDisplay.Text = Microsoft.VisualBasic.Val(txtDisplay.Text)

これでどうでしょうか
    • good
    • 0
この回答へのお礼

ありがとうございます。
ようやく理解することができました。
次は、四則演算です。。。
がんばってみます^^

お礼日時:2007/03/09 18:55

「電卓の数字0~9までのボタンをクリックした時」


は、実装できましたか?

質問を絞ったほうがいいと思います。

この回答への補足

回答あいがとうございます。
申し訳ございません。
数字をクリックしても、数字がテキストボックスに
出力されない状態です。

補足日時:2007/03/09 15:23
    • good
    • 0
この回答へのお礼

unamana19さま、何度もすみませんでした。
tagを入力するということがよくわからなかったのですが、
ようやく理解することができました。
とりあえず、数字をクリックすると
ディスプレイに表示することができました。

ありがとうございました。

お礼日時:2007/03/09 18:54

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