テキストボックスの入力について


kei  2007-05-12 05:01:27  No: 136383

VBを始めたばっかで色々調べているんだすがわからないのでお願いします。
テキストボックスに初期値として○○○○○と表示させて、文字をうつと、うった分だけ黒丸にしていくことは可能なんでしょうか?

テストと入力→●●●○○


ささき  2007-05-12 06:18:24  No: 136384

KeyPressイベントで入力されたら
●を一つ増やすという処理でどうでしょうか?
バックスペースなども考慮する必要があります。

実現の可能・不可能で言えば可能


未記入  2007-05-12 09:35:30  No: 136385

とりあえずこんなんでどうだす
Select Case e.KeyChar
   Case vbBack
      TextBox1.Text = TextBox1.Text.Remove(TextBox1.Text.LastIndexOf("●"), 1) & "○"
   Case Else
      TextBox1.Text = "●" & TextBox1.Text.Remove(TextBox1.Text.Length - 1, 1)
End Select
e.KeyChar = vbNullChar

一応それっぽくは動きますよん
・・・問題は色々あるけどねん

ちなみにこれはVB2005で書きました
この初心者掲示板はVB6.0以前と.NETが混合になっているので
混乱を回避するためにも開発環境は書きませう


未記入  2007-05-12 09:52:54  No: 136386

あー
これだと全角文字で打つと
「あ」→「●●○○○」
ってなっちゃいますねぇ


未記入  2007-05-12 10:02:00  No: 136387

ん?再現しなくなってしまいました
なんだったのやら??

まぁとりあえず
ヘルプに
「Handled を true に設定して KeyPress イベントをキャンセルします。この結果、コントロールはキーを押す処理を行いません。」
とか書いてあったので
e.KeyChar = vbNullCharじゃなくて
e.Handled = True のほうがいいのかしらん


kei  2007-05-16 18:53:14  No: 136388

返事が遅くなりました。
開発環境はvb.netです。
未記入様の提示して頂いたコードはうまくつかえませんでした。
もうしわけないです。

ささき様、返信ありがとうございます。
実現は可能とのことで、ただ実行するには大変(自分の力量では)そうです。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加