
No.1ベストアンサー
- 回答日時:
ImeModeはOffの方がいいように思います
キー入力に関しては
TextBoxのKeyDownイベントで
if e.KeyCode = Keys.ProcessKey then
e.Handled = true
TextBox1.ImeMode = ImeMode.Off
else if e.Keycode = Key.Insert then
' キーボードによる貼り付け操作
if e.shift then
e.Handled = true
end if
End if
といった具合で処理出来そうです
マウスの右クリックのコンテキストメニューの対策は
ContextMenuをFormに貼り付けてメニュー項目は何も設定しません
Form_Loadイベントなどで
TextBox1.ContextMenu = ContextMenu1
といった具合に設定します …
No.3
- 回答日時:
No.2です。
すみません、書いてから気が付いたんですが、
キャレットを後端に移動している部分は、文字列の途中に文字を差し込もうとした時にマズイですね(汗)
その辺は、適当にアレンジお願いします。
No.2
- 回答日時:
当方、VS2005で確認しました。
同じだとは思いますがご了承ください。まず、IMEModeはDisableがいいと思います。Offだと起動できるので。
で、あまりうまい方法では ないかもしれませんが、以下のような感じで
一応いけるはずです。
以下では、入力(貼り付け)されて指定以外の文字があったら、入力(貼り付け)直前の状態に戻します。
-----
Public Class Form1
Private prevText As String = "" '変更前テキスト保存用
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.TextLength > 0 Then '何か入力されていたら処理
For i As Integer = 0 To TextBox1.TextLength - 1
Select Case Asc(TextBox1.Text.Substring(i, 1)) '1文字ずつ文字コードチェック
Case 48 To 57, 65 To 90, 97 To 122 '半角数値、アルファベット大文字・小文字なら何もしない
Case Else '上記以外なら、直前に憶えていたテキストに戻してチェック終了
TextBox1.Text = prevText
Exit For
End Select
Next
End If
TextBox1.Select(TextBox1.TextLength, 0) 'キャレットをテキスト後端に
prevText = TextBox1.Text '現状のテキストを憶える
End Sub
End Class
-----
文字列が長いと、ちょっと厳しいかもしれませんが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Mac OS Macにおける全角・半角の切り替え(自動のそれの停止) 2 2022/09/13 16:42
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- Excel(エクセル) exel 漢字・英数字混在セルの入力規則 5 2022/04/03 11:08
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.net、テキストボックス入力制限、全角のみ
Visual Basic(VBA)
-
TextBoxに半角数字のみの入力しかできないようにしたい
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
textboxユーザーコントロールのコピー&ペースト制御
Visual Basic(VBA)
-
5
DataGridView 列ごとの入力制限
Visual Basic(VBA)
-
6
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
<VB.NET>INSERT文でDBにデータを入れたい
Visual Basic(VBA)
-
9
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
10
VBのReturnの使い方
Visual Basic(VBA)
-
11
VB.net データーグリッドビューで余白を無くし
Visual Basic(VBA)
-
12
Ctrl + Cなど複数の入力キーの感知
Visual Basic(VBA)
-
13
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
14
カンマの含まれる文字列の数値変換方法について
Visual Basic(VBA)
-
15
vb.netで画面のコントロールId名を変数で動的に制御し処理する方法
Visual Basic(VBA)
-
16
正整数の半角数字かどうか判定する
Visual Basic(VBA)
-
17
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
18
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
19
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
20
VB.NET Excelを読み込んでDataTableに格納し、DBにデータをINSERTする
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA/ Formatで文字列が...
-
VC#でテキストボックスに変数の...
-
VB.NET2003 テキストボックスに...
-
アクセス元判別方法
-
正規表現の入力チェック
-
正整数の半角数字かどうか判定する
-
文字認証の問題
-
JSPの処理の途中で、JavaScript...
-
if(1){...}とはどういうことで...
-
JavascriptでのExcel起動について
-
JSでファイル数取得
-
1つのVBAコードをすべてのコア...
-
Excel VBA にて JavaScript の...
-
ローカルのレジストリを読みたい
-
ナビゲーションのインジケート
-
マウスムーブでのマウスカーソ...
-
javascriptでフォルダ内のファ...
-
このページのスクリプトでエラ...
-
テキストエリア文字制限について
-
F8のステップインで実行すると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字認証の問題
-
正整数の半角数字かどうか判定する
-
VB.NET2003 テキストボックスに...
-
VC#でテキストボックスに変数の...
-
エクセルVBA/ Formatで文字列が...
-
禁止文字チェック
-
ハイフンだけ置換したい。
-
VBAによる第3、4水準文字の判定...
-
「終了していない文字列型の定...
-
Visual Basic 6.0 のテキストボ...
-
javascript 文字列の最後から1...
-
gas 全角数字を半角数字に変換
-
Vba SelStart、SelLen教えてく...
-
C#でTextBoxに数値のみ入力可能...
-
CListCtrl の特定のセル(アイ...
-
Excel VBA カタカナ セル判定...
-
エクセル 半角英数6文字以上 ...
-
入力された文字を1文字ずつチ...
-
正規表現について
-
c言語で「文字列(最大80文字)お...
おすすめ情報