A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#1さん同様、第一に「NumericUpDown」を推奨いたします。
もっとカスタマイズ性を高めたいのであれば、ユーザコントロールの自作がお勧めです。
サンプルはテキストボックスを継承した、簡単なユーザコントロール作成方法です。
ペーストだけに対応しています。
判定は適当に「数字」というアバウトな条件で行っております。
※1.クラスの作成[TextNumBox.vb]
Public Class TextNumBox
Inherits TextBox
Private Const WM_PASTE As Integer = &H302 '張り付け
Protected Overrides Sub WndProc(ByRef m As Message)
Select Case m.Msg
Case WM_PASTE
Dim l_objData As IDataObject = Clipboard.GetDataObject()
If l_objData.GetDataPresent(DataFormats.Text) Then
Dim l_str文字 As String = CType(l_objData.GetData(DataFormats.Text), String)
If Not 判定_WM_PASTE(l_str文字) Then
m.Result = IntPtr.Zero
Exit Sub
End If
End If
End Select
MyBase.WndProc(m)
End Sub
Private Function 判定_WM_PASTE(ByVal p_strValue As String) As Boolean
'数字構成判定
Return System.Text.RegularExpressions.Regex.IsMatch(p_strValue, "[\d]")
End Function
End Class
※2.画面(Form1)にテキストボックスを作成
仮にTextBox1を作成したとします。
※3.[Form1.Designer.vb]の編集
>Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
を
Friend WithEvents TextBox1 As TextNumBox
へ
>Me.TextBox1 = New System.Windows.Forms.TextBox
を
Me.TextBox1 = New TextNumBox
へ
No.1
- 回答日時:
全く気乗りしないなぁ。
NumericUpDownを使えばそれが数値であるか検証する必要がないわけだから。
http://msdn.microsoft.com/en-us/library/system.w …
TextBoxでやるなら、「コピーを制御する」とかそういう考え方じゃなくて
Validatingイベントで待ち受けたほうがいいだろう。
http://msdn.microsoft.com/en-us/library/system.w …
最悪でもTextChangedイベントだ。
http://msdn.microsoft.com/en-us/library/system.w …
#NumericUpDownを使うべき、って思っていてこれはそれほど難しくないから、後者用のコードは敢えて書かない
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- その他(Microsoft Office) エクセルのマクロを教えてください。 1 2023/01/27 09:05
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) テキストボックスの値を該当セルに登録する方法 2 2022/11/23 18:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
visual basic初心者です。 visu...
-
整数かどうかチェックする
-
ユーザーフォームへのデータ入...
-
VBAで入力数値について
-
テキストボックスに大文字を
-
【VB.NET】テキストボックスに...
-
VBでローマ字入力とかな入力を...
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
ACCESS 除算での小数点切上げ方法
-
テキストボックスとカーソルの制御
-
visual studio 2008 C# で、値...
-
コンボボックスからテキストボ...
-
256色で任意の色を作成する時、...
-
VBAのフォーム カーソル移動
-
ドラゴン曲線を再帰で書く
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
チェックボックスを操作できな...
-
C言語のサフィックスについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
VBAで入力数値について
-
visual basic初心者です。 visu...
-
ユーザーフォームへのデータ入...
-
Excel ユーザーフォームで計算 ...
-
【VB.NET】テキストボックスに...
-
テキストボックスを空白にする方法
-
テキストボックスに大文字を
-
コンボボックスからテキストボ...
-
VB2005テキストボックスへのコ...
-
VBでローマ字入力とかな入力を...
-
VBでの入力値制限について
-
VBAのフォーム カーソル移動
-
TextBoxの内容を右寄せ
-
Vba テキストボックスの文字列...
-
整数かどうかチェックする
-
TEXTBOXの表示形式の変...
-
ACCESS 除算での小数点切上げ方法
-
テキストボックスとカーソルの制御
おすすめ情報