回答編集履歴

4

少し修正

2020/09/07 00:51

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- MaxLengthはテキストボックスに直接キーボード入力やペーストされた文字列には適用されますが、プログラム内で追加した文字列には適用されません。文字列追加時にメソッドを通してMaxLengthをチェックするなりして、自分で何らかの方法で制限を行う必要があります。
1
+ MaxLengthはテキストボックスにユーザーが直接キーボード入力やペーストされた文字列には適用されますが、プログラム内で追加した文字列には適用されません。文字列追加時にメソッドを通してMaxLengthをチェックするなりして、自分で何らかの方法で制限を行う必要があります。
2
2
 
3
3
 
4
4
 

3

サンプルソースを追加

2020/09/07 00:51

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,41 @@
1
- MaxLengthはテキストボックスに直接キーボード入力やペーストされた文字列には適用されますが、プログラム内で追加した文字列には適用されません。
1
+ MaxLengthはテキストボックスに直接キーボード入力やペーストされた文字列には適用されますが、プログラム内で追加した文字列には適用されません。文字列追加時にメソッドを通してMaxLengthをチェックするなりして、自分で何らかの方法で制限を行う必要があります。
2
2
 
3
+
4
+
3
- 文字列追加時にメソッドを通してMaxLengthをチェックするして、自分で何らかの方法で制限を行う必要があります。
5
+ 簡単な例ですが、下記の例はAddTextを通すことでMaxLengthを超えいようにしてます。
6
+
7
+
8
+
9
+ ```csharp
10
+
11
+ private void btn1_Click(object sender, EventArgs e)
12
+
13
+ {
14
+
15
+ AddText(btn1.Text);
16
+
17
+ }
18
+
19
+
20
+
21
+ public void AddText(string text)
22
+
23
+ {
24
+
25
+ int addLen = Math.Min(textBox1.MaxLength - textBox1.Text.Length, text.Length);
26
+
27
+ if( addLen<=0 )
28
+
29
+ {
30
+
31
+ return;
32
+
33
+ }
34
+
35
+
36
+
37
+ textBox1.Text += text.Substring(0, addLen);
38
+
39
+ }
40
+
41
+ ```

2

少し修正

2020/09/07 00:50

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,3 @@
1
1
  MaxLengthはテキストボックスに直接キーボード入力やペーストされた文字列には適用されますが、プログラム内で追加した文字列には適用されません。
2
2
 
3
- 追加時にメソッドを通して文字列長をチェックするなり、自分で何らかの方法で制限を行う必要があります。
3
+ 文字列追加時にメソッドを通してMaxLengthをチェックするなりして、自分で何らかの方法で制限を行う必要があります。

1

少し修正

2020/09/07 00:28

投稿

退会済みユーザー
test CHANGED
@@ -1,5 +1,3 @@
1
- MaxLengthはキーボード入力やペーストされた文字列には適用されますが、
1
+ MaxLengthはストボックスに直接キーボード入力やペーストされた文字列には適用されますが、プログラム内で追加した文字列には適用されません。
2
-
3
- プログラム内で追加した文字列には適用されません。
4
2
 
5
3
  追加時にメソッドを通して文字列長をチェックするなり、自分で何らかの方法で制限を行う必要があります。