DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コンボボックスの選択

分類:[.NET]

お世話になります。

質問なんですけど、
コンボボックスに都道府県名を取得し、
県コードを取得した後に下記のような
コードを書いているのですが、
このコードだと、"01"を入力すると、
リストの北海道が選択されません。
(正しくは01だとリストの北海道が選択される)
エラーにはならないのですが、01を入力すると、
0-11に変換されます。全く原因がわからないので
よろしくお願いします。

(KeyPressイベントに記入)
Dim intCnt As Integer ''ループカウンタ
With コンボ名
''都道府県コードを格納する変数
Dim A(.Items.Count - 1) As String

''都道府県コードの取得
For intCnt = 0 To AreaCode 'List内容のロード
A(intCnt + 1) = 県コード(intCnt)
県コード(intCnt) = 都道府県名(intCnt)
Next

If True = IsNumeric(.Text) _
AndAlso Val(.Text) <= UBound(A)Then
.SelectedText = .FindStringExact(A(Val(.Text)))
End If

End With
  • 題名: Re[1]: コンボボックスの選択
  • 著者: ピラルク
  • 日時: 2003/10/29 16:26:48
  • ID: 1202
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
こんにちは、たかしさん。ピラルクです。

> 01を入力すると、0-11に変換されます。

"0"を入力

FindStringExact(A(Val(.Text))) は -1 を返す

SelectedTextが選択状態(ハイライト部分)を指定の文字に置換
(選択状態がないので、SelectionStartからの""を
文字列に暗黙変換された"-1"に置換(イメージ的には挿入))

"1"を入力

最終結果は"0-11" ("0" & "-1" & "1")

DOBON.NET | プログラミング道 | プログラミング掲示板