プロが教えるわが家の防犯対策術!

コンボボックスにてデータ(文字列+数字)を選択して、同フォーム内にある テキストボックスへ数字だけを表示させるにはどのようにコードを入力すれば良いでしょうか? VS2010を利用しています。

コンボボックスには、●●会社 00000000000
▲▲会社 1111111111

といったように登録されております。

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

TextBox1.Text = ComboBox1.Text

End Sub

上記のコードですと、文字列+数字がテキストボックスへ反映されてしまいます。

お忙しい中お手数をお掛けしますが、ご教授下さい。

A 回答 (3件)

TextBox1.Text = ComboBox1.Text.Split(" "c)(1)

この回答への補足

デバッグ出来ますが、
index out of range exceptionはハンドルされませんでした。と表示されてしまいます。
どこを変更すれば良いでしょうか?

補足日時:2011/05/24 16:23
    • good
    • 0

> デバッグ出来ますが、


デバッグできるなら、問題点を自分で見つけて修正すれば
いいじゃない。多分、初回の何も設定されていない状態での
話でしょ?

質問文にある通り
>コンボボックスには、●●会社 00000000000
>▲▲会社 1111111111
なら問題なく動くはずですよ。

テスト用コード
ComboBox1.Text = "●●会社 00000000000"
TextBox1.Text = ComboBox1.Text.Split(" "c)(1)
では問題なく処理できますので。
    • good
    • 0

泥臭いですが


英字文字列+数字で数字の中に又文字列は無いとして
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim t As String
Dim x As Char
t = ComboBox1.Text
For i = 0 To t.Length - 1
x = t.Substring(i, 1)
If Char.IsNumber(x) Then
MsgBox(t.Substring(i, t.Length - i))
Exit For
End If
Next
End Sub
VB6にくらべて複雑です。
IsNumberの詳細の中身をWEBで調べてください。ややこしい。
http://blog.livedoor.jp/akf0/archives/51315460.h …
    • good
    • 0

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