はじめて質問させていただきます。
現在、VB2005を使ってプログラムを組んでいるのですが、半角カタカナだけをTextBoxに入力し、表示する方法がわかりません。
Private Sub TextBox6_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox6.KeyDown
TextBox6.ImeMode = Windows.Forms.ImeMode.KatakanaHalf
End Sub
Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
If (e.KeyChar < "ア"c Or e.KeyChar > "-"c) And e.KeyChar <> vbBack Then
e.Handled = True
End If
End Sub
↑見にくいかもしれませんがコードです。
この方法ではだめなのでしょうか?
回答をお願いします
No.3ベストアンサー
- 回答日時:
回答2のdevilconanです。
追記しておきます。ネットでサクッと調べてみました。
このコードを入れてみてはいかがでしょうか?
私の環境ではうまくいきましたんでたぶん大丈夫だと思います。
テキストボックス(今回ならtextbox6かな?)のキープレスイベントを追加して
Dim CharTable As String = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン"
If InStr(CharTable, e.KeyChar) = 0 Then
e.Handled = True
End If
を入れてみて下さい。
devilconan様
ありがとうございます。
おかげさまで思った通りのプログラムが作成できました!
本当にありがとうございました!
No.2
- 回答日時:
回答1のdevilconanです。
追記しておきます。コードで書くのであれば、キープレスやキーダウンイベントではなく、formのロードイベントに書けば半角カナで動くと思いますよ。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.ImeMode = Windows.Forms.ImeMode.KatakanaHalf
End Sub
この回答への補足
devilconan様
ありがとうございます。
おっしゃられた通りのコードでちゃんと入力することができました。
すみませんがあと一つだけ質問させてください。
いろいろとテストデータをつくってみたのですが、/や*などの記号も入ってしまうことがわかりました。
これらの記号も入力できないようにする方法はあるんでしょうか?
本当に何度も質問してしまいすみません・・・
No.1
- 回答日時:
これってWindowsアプリケーションでいいんですよね?WebだとJavascriptを使うとは思ったら良かったと思います。
(うるおぼえですが・・)私はデザインビューからtextboxのプロパティでImeModeをKatakanaHalfに変更したらできました。
特にコードは書いてません・・。
ちなみに環境はvs2008です。
この回答への補足
devilconan様
回答ありがとうございます。
おっしゃられる通りWindowsアプリケーションで作成しています。すみません。
プロパティの件は最初からやっていました。
捕足になるかもしれませんが、このコードだと入力する際に半角カタカナを入力はできるのですが、Enterを押すとTextBoxの中身が消えてしまいます。
これはどうしてなんでしょうか?
コードの
If (e.KeyChar < "ア"c Or e.KeyChar > "-"c) And e.KeyChar <> vbBack Then
の部分で文字の指定(半角カタカナのみ)をしているのですがこれが間違っているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
推しミネラルウォーターはありますか?
推しミネラルウォーターがあったら教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
テキストボックスの中身をリセット(クリア)したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
アクセスVBAのSQL文の記述の仕...
-
ACCESS VBA ヘッダなしCSVの入...
-
GrapeCityのSpreadについて
-
PreviewKeyDownイベントが2回...
-
VBAでファイルオープン後にコー...
-
オブジェクトファイルのファイ...
-
QRコードの印刷
-
特定行の背景色を変えたいのですが
-
Nullの使い方が不正です。
-
エクセルに見えない文字(JISX0...
-
VBA ユーザーフォームの印刷に...
-
Pythonで指定時間までスリープ...
-
access2021 VBA メソッドまたは...
-
コマンドボタンを押したときに...
-
access2003 クエリSQL文に...
-
ActiveReportの改ページ不具合...
-
Excel VBAについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JANコードとPOSコードは同じ?
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
オートフィルタで抽出結果に 罫...
-
変数名「cur」について
-
JavaScriptの定数名が取り消し...
-
ACCESSユニオンクエリでORDER B...
-
Exel VBA 別ブックから該当デ...
-
UWSCでMOUSEORG関数が上手く処...
-
COBOLの文法
-
PreviewKeyDownイベントが2回...
-
1、Rstudioで回帰直線を求める...
-
VBAでファイルオープン後にコー...
-
【VB6】実行ファイルとした後、...
-
Nullの使い方が不正です。
-
特定行の背景色を変えたいのですが
-
◾️Excel VBA 統合について Cons...
-
アルファベットに付いて質問し...
-
Excel VBAでOpenTextのFieldInf...
おすすめ情報