
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.net、テキストボックス入力制限、全角のみ
Visual Basic(VBA)
-
textboxユーザーコントロールのコピー&ペースト制御
Visual Basic(VBA)
-
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
-
4
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
5
カンマの含まれる文字列の数値変換方法について
Visual Basic(VBA)
-
6
TextBoxに半角数字のみの入力しかできないようにしたい
Visual Basic(VBA)
-
7
DataGridView 列ごとの入力制限
Visual Basic(VBA)
-
8
VB2005 TextBoxに何も入力しない場合のエラー
Visual Basic(VBA)
-
9
VB.net テキストボックスの入力制限全角のみ
Visual Basic(VBA)
-
10
VBで、String型のデータが、全角か、半角かを判断する関数は・・・
Visual Basic(VBA)
-
11
初期フォーカスについて
Visual Basic(VBA)
-
12
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
13
SPREAD(GrapeCity)のセルにフォーカスを設定するにはどうしたらいいのでしょうか?
Visual Basic(VBA)
-
14
VB2005 DataGridView上でクリックを無効にする方法はありますか?
Visual Basic(VBA)
-
15
VB.NETでフォームロード中のエラー時に終了する方法について
Visual Basic(VBA)
-
16
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
17
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
18
<VB.NET>INSERT文でDBにデータを入れたい
Visual Basic(VBA)
-
19
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
20
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual Basic 6.0 のテキストボ...
-
外字のチェック
-
正整数の半角数字かどうか判定する
-
文字認証の問題
-
デザイン時のVisible=Falseは実...
-
delete[]と、delete演算子の明...
-
javascriptで「オブジェクトを...
-
JSPの処理の途中で、JavaScript...
-
if(1){...}とはどういうことで...
-
親フォームとサブフォームでの...
-
javascriptでフォルダ内のファ...
-
PowerPointで時計表示
-
フォルダを自動で開く
-
VBScript から JavaScript を呼...
-
javascriptでエクセルデータ読...
-
JavaScriptで ブラウザの閉じる...
-
ASP(VBS) ←→ JavaScript の変数...
-
JavaScriptを使用して、クライ...
-
ボタンに複数機能を持たせられ...
-
jwplayer.js controlbar制御
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET2003 テキストボックスに...
-
正整数の半角数字かどうか判定する
-
VBAによる第3、4水準文字の判定...
-
エクセルVBA/ Formatで文字列が...
-
JavaScriptでこの正規表現を利...
-
文字認証の問題
-
「終了していない文字列型の定...
-
正規表現について
-
ハイフンだけ置換したい。
-
JavaScriptでフォームの入力項...
-
Vba SelStart、SelLen教えてく...
-
禁止文字チェック
-
gas 全角数字を半角数字に変換
-
VC#でテキストボックスに変数の...
-
CListCtrl の特定のセル(アイ...
-
漢字などを正規表現でパターン...
-
C#でTextBoxに数値のみ入力可能...
-
Access VBAで、数字だけをチェ...
-
エクセル 半角英数6文字以上 ...
-
”吴”とはなんですか?
おすすめ情報