ボーリングのスコア表をvb.Netでつくってます。最初はテキストボックスをずらーっと並べてキーボードで点数を入力するようにしていたのですが、テキストボックスの代わりにコンボボックスを並べてマウスだけで入力ができるようにしたいんです。 そこで入力間違いがないように、もし1投目が9本だった時2投目のコンボボックスには1本以下、1投目が5本だったら2投目は0〜5本しか入力できないようにするにはどうしたらいいのでしょう。
編集 削除最近ボーリングなんてとんとやってないな。
ComboBox1を1投目、ComboBox2を1投目の点数とすると、
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim t As Integer
Dim n As Integer
ComboBox2.Text = "0"
ComboBox2.Items.Clear()
t = Val(ComboBox1.Text)
For n = 0 To (10 - t)
ComboBox2.Items.Add(CStr(n))
Next
End Sub
こんなことでいいんじゃないかな。
「ねろ」さん、教えていただいてありがとうございます。
そのようにやってみたらできました! もうひとつお伺いしたいのですが
たとえば1投目がストライク以外の0〜9本で2投目がスペアだったときに「/」のマークをコンボボックス2(2投目)に表示させる事は可能ですか?
また2投目が0本だった時「0」の代わりに「-」を表示させる事は可能ですか? よろしくお願いします。
サービス過剰で誰かに叱られそう(^^;
他の事を書くよりコード書くほうが簡単なので
つい書いてしまう。
Dim t As Integer
Dim n As Integer
t = Val(ComboBox1.Text)
With ComboBox2
.Items.Clear()
Select Case (t)
Case 0 To 8
.Text = "-"
.Items.Add("-")
For n = 1 To (10 - t - 1)
.Items.Add(CStr(n))
Next
.Items.Add("/")
Case 9
.Text = "-"
.Items.Add("-")
.Items.Add("/")
Case Else
.Text = ""
End Select
End With
助けていただいてありがとうございました。無理な橋を渡らせてしまったみたいですいません。私も早くねろさんのようになれるようにがんばります。
でも、またの時はよろしくお願いします。