VBを始めたばっかで色々調べているんだすがわからないのでお願いします。
テキストボックスに初期値として○○○○○と表示させて、文字をうつと、うった分だけ黒丸にしていくことは可能なんでしょうか?
テストと入力→●●●○○
KeyPressイベントで入力されたら
●を一つ増やすという処理でどうでしょうか?
バックスペースなども考慮する必要があります。
実現の可能・不可能で言えば可能
とりあえずこんなんでどうだす
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が混合になっているので
混乱を回避するためにも開発環境は書きませう
あー
これだと全角文字で打つと
「あ」→「●●○○○」
ってなっちゃいますねぇ
ん?再現しなくなってしまいました
なんだったのやら??
まぁとりあえず
ヘルプに
「Handled を true に設定して KeyPress イベントをキャンセルします。この結果、コントロールはキーを押す処理を行いません。」
とか書いてあったので
e.KeyChar = vbNullCharじゃなくて
e.Handled = True のほうがいいのかしらん
返事が遅くなりました。
開発環境はvb.netです。
未記入様の提示して頂いたコードはうまくつかえませんでした。
もうしわけないです。
ささき様、返信ありがとうございます。
実現は可能とのことで、ただ実行するには大変(自分の力量では)そうです。
ツイート | ![]() |