C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[18]: textBoxの文字数制限について。


(過去ログ 51 を表示中)

[トピック内 42 記事 (1 - 20 表示)]  << 0 | 1 | 2 >>

■28138 / inTopicNo.1)  textBoxの文字数制限について。
  
□投稿者/ C#初心者 (25回)-(2008/11/20(Thu) 14:58:43)

分類:[C#] 

2008/11/20(Thu) 14:59:12 編集(投稿者)

C#のtextBoxのMaxLengthプロパティの使って
文字数制限を設定したのですが、それ以上
入力できてしまうのでどうしたら設定した
文字数以上入力できないようになりますでしょうか?
引用返信 編集キー/
■28139 / inTopicNo.2)  Re[1]: textBoxの文字数制限について。
□投稿者/ みきぬ (236回)-(2008/11/20(Thu) 15:05:13)
2008/11/20(Thu) 15:26:11 編集(投稿者)

No28138 (C#初心者 さん) に返信
> C#のtextBoxのMaxLengthプロパティの使って
> 文字数制限を設定したのですが、それ以上
> 入力できてしまうのでどうしたら設定した
> 文字数以上入力できないようになりますでしょうか?
>
Windowsフォーム(またはWebアプリ)で TextBox.MaxLength プロパティにどんな値を設定し、どのような文字を入力したら入力できてしまうのか、教えてくれ。話はそれからだ。


それはそれとして、文字数といわゆる半角の桁数(あるいはバイト数)を勘違いしているに一票。

----- 追記
よし、配置した TextBox と、プロパティを設定した TextBox が違っているというのにもう一票だ。
引用返信 編集キー/
■28140 / inTopicNo.3)  Re[2]: textBoxの文字数制限について。
□投稿者/ C#初心者 (26回)-(2008/11/20(Thu) 15:12:35)
2008/11/20(Thu) 15:13:04 編集(投稿者)

> Windowsフォーム(またはWebアプリ)で TextBox.MaxLength プロパティにどんな値を設定し、どのような文字を入力したら入力できてしまうのか、教えてくれ。話はそれからだ。
>
>
> それはそれとして、文字数といわゆる半角の桁数(あるいはバイト数)を勘違いしているに一票。


電卓作成していまして、数字が12桁以上入力できないようにしたくて
textBoxのMaxLengthプロパティーに「12」と入力したんですが、それ以上入力できて
しまうんです。
引用返信 編集キー/
■28141 / inTopicNo.4)  Re[3]: textBoxの文字数制限について。
□投稿者/ .SHO (112回)-(2008/11/20(Thu) 15:16:33)
No28140 (C#初心者 さん) に返信

> 電卓作成していまして、数字が12桁以上入力できないようにしたくて
> textBoxのMaxLengthプロパティーに「12」と入力したんですが、それ以上入力できて
> しまうんです。

その部分のソース掲載した方が早いよ。
引用返信 編集キー/
■28142 / inTopicNo.5)  Re[1]: textBoxの文字数制限について。
□投稿者/ 魔界の仮面弁士 (903回)-(2008/11/20(Thu) 15:22:59)
No28138 (C#初心者 さん) に返信
> C#のtextBoxのMaxLengthプロパティの使って
C#のtextBox というのは、System.Windows.Forms.TextBox の事でしょうか。
それとも、他の textBox でしょうか?

# System.Windows.Controls.TextBox とか(WPF/Silverlight)
# System.Web.UI.WebControls.TextBox とか(ASP.NET)…。


> 文字数制限を設定したのですが、それ以上
> 入力できてしまうので
それは妙ですね。何か、特殊な処理を記述していたりはしませんか?
(新規作成したプロジェクトでも同様の問題になるのでしょうか?)

こちらで System.Windows.Forms.TextBox について、
.NET 1.1/2.0/3.5 のそれぞれで試してみましたが、
MaxLength を超える文字数をユーザーが入力する事はできませんでした。

入力するのでは無く、プログラムから Text プロパティを
代入するのであれば、制限以上の文字を渡せますが…。


=====================
using System;
using System.Windows.Forms;
class F:Form{
 static void Main(){Application.Run(new F());}
 TextBox t1 = new TextBox();
 TextBox t2 = new TextBox();
 F(){
  t1.Multiline=true;
  t2.Multiline=false;
  t1.Height = 60;
  t1.MaxLength = t2.MaxLength = 6;
  Controls.Add(t1);
  t2.Left = t1.Right + 10;
  Controls.Add(t2);
 }
}
=====================
引用返信 編集キー/
■28143 / inTopicNo.6)  Re[4]: textBoxの文字数制限について。
□投稿者/ C#初心者 (27回)-(2008/11/20(Thu) 15:26:45)
No28141 (.SHO さん) に返信

private void Form1_Load(object sender, EventArgs e)
        {
            txtDisp.Text = "0";
            dData1 = 0;             //数値記憶用変数の初期化
            dData2 = 0;
            Enzan = NONE;           //演算種類初期化
            SuuFlag = false;
            EFlag = false;

            txtDisp.MaxLength = 12;
        }

VBで作った時はこれで制限できたのですが・・・。

引用返信 編集キー/
■28144 / inTopicNo.7)  Re[5]: textBoxの文字数制限について。
□投稿者/ .SHO (113回)-(2008/11/20(Thu) 15:31:10)
2008/11/20(Thu) 15:31:27 編集(投稿者)
No28143 (C#初心者 さん) に返信

> private void Form1_Load(object sender, EventArgs e)
>         {
>             txtDisp.Text = "0";
>             dData1 = 0;             //数値記憶用変数の初期化
>             dData2 = 0;
>             Enzan = NONE;           //演算種類初期化
>             SuuFlag = false;
>             EFlag = false;
> 
>             txtDisp.MaxLength = 12;
>         }

まさかとは思うけど、Form1作った時に実はこのイベント通ってないとか?^^;

引用返信 編集キー/
■28145 / inTopicNo.8)  Re[5]: textBoxの文字数制限について。
□投稿者/ 魔界の仮面弁士 (904回)-(2008/11/20(Thu) 15:36:48)
No28143 (C#初心者 さん) に返信
> private void Form1_Load(object sender, EventArgs e)

void Form1_Load のメソッドを作っただけでは、Load イベントは処理されませんが、
その点は大丈夫でしょうか?

Form1 のプロパティ ウィンドウで、黄色の稲妻アイコンをクリックして、
[Load]の欄に "Form1_Load" が登録されていることを確認してみてください。
(この欄が空欄になっていると、Form1_Load は呼び出されません)
引用返信 編集キー/
■28146 / inTopicNo.9)  Re[2]: textBoxの文字数制限について。
□投稿者/ C#初心者 (29回)-(2008/11/20(Thu) 15:37:29)
No28142 (魔界の仮面弁士 さん) に返信
> ■No28138 (C#初心者 さん) に返信
>>C#のtextBoxのMaxLengthプロパティの使って
> C#のtextBox というのは、System.Windows.Forms.TextBox の事でしょうか。
VS2008のWindowsアプリケーションで作成しています。



> 入力するのでは無く、プログラムから Text プロパティを
> 代入するのであれば、制限以上の文字を渡せますが…。
>
>
> =====================
> using System;
> using System.Windows.Forms;
> class F:Form{
>  static void Main(){Application.Run(new F());}
>  TextBox t1 = new TextBox();
>  TextBox t2 = new TextBox();
>  F(){
>   t1.Multiline=true;
>   t2.Multiline=false;
>   t1.Height = 60;
>   t1.MaxLength = t2.MaxLength = 6;
>   Controls.Add(t1);
>   t2.Left = t1.Right + 10;
>   Controls.Add(t2);
>  }
> }

↑こちらのコードはどこに書けばいいでしょうか?
引用返信 編集キー/
■28147 / inTopicNo.10)  Re[6]: textBoxの文字数制限について。
□投稿者/ C#初心者 (30回)-(2008/11/20(Thu) 15:40:44)
No28145 (魔界の仮面弁士 さん) に返信
> ■No28143 (C#初心者 さん) に返信
> Form1 のプロパティ ウィンドウで、黄色の稲妻アイコンをクリックして、
> [Load]の欄に "Form1_Load" が登録されていることを確認してみてください。
> (この欄が空欄になっていると、Form1_Load は呼び出されません)

[Load]欄に「Form1_Load」と登録はされています。
プロパティウィンドウにあるMaxLengthの欄に12と入れても
意味がなかったので・・・。
引用返信 編集キー/
■28148 / inTopicNo.11)  Re[3]: textBoxの文字数制限について。
□投稿者/ .SHO (114回)-(2008/11/20(Thu) 15:51:59)
No28146 (C#初心者 さん) に返信

> ↑こちらのコードはどこに書けばいいでしょうか?

どこにって言うか、それだけで完結してますよね。
Mainもあるし。

> Load]欄に「Form1_Load」と登録はされています。

なら、問題ないです。
疑うわけじゃないですけど何か勘違いしてませんか?
とりあえず、ここまでに聞いた情報だけでは判断できません。
引用返信 編集キー/
■28149 / inTopicNo.12)  Re[7]: textBoxの文字数制限について。
□投稿者/ カドルドエグ (51回)-(2008/11/20(Thu) 15:55:06)
No28147 (C#初心者 さん) に返信
> プロパティウィンドウにあるMaxLengthの欄に12と入れても
> 意味がなかったので・・・。

それもまた不思議な…。
VSを使ってるなら、
デザイナ画面のプロパティ欄で最初に設定しておくと、
自動的にコンストラクタ内の「InitializeComponent」メソッド(Designer.csに詳細があります)
に書き込まれて、そもそもLoadイベントで設定しなくてもよいはずなのですが…。


まさかというか、私の妄想だとは思いますが、
日本語入力 = 入力時に点線が出る状態で半角数字を打ったときに12文字以上入る(ように見える)、
ことを「12と制御したけど入力できてしまう」とおっしゃってる……ことはないですよね…?

引用返信 編集キー/
■28150 / inTopicNo.13)  Re[6]: textBoxの文字数制限について。
□投稿者/ .SHO (115回)-(2008/11/20(Thu) 16:03:18)
No28144 (.SHO さん) に返信

>> txtDisp.Text = "0";

って初期化してるけど、この「0」は出てますか?
引用返信 編集キー/
■28151 / inTopicNo.14)  Re[8]: textBoxの文字数制限について。
□投稿者/ C#初心者 (31回)-(2008/11/20(Thu) 16:07:30)
No28149 (カドルドエグ さん) に返信
> ■No28147 (C#初心者 さん) に返信
>>プロパティウィンドウにあるMaxLengthの欄に12と入れても
>>意味がなかったので・・・。
> 
> それもまた不思議な…。
> VSを使ってるなら、
> デザイナ画面のプロパティ欄で最初に設定しておくと、
> 自動的にコンストラクタ内の「InitializeComponent」メソッド(Designer.csに詳細があります)
> に書き込まれて、そもそもLoadイベントで設定しなくてもよいはずなのですが…。
> 
> 
> まさかというか、私の妄想だとは思いますが、
> 日本語入力 = 入力時に点線が出る状態で半角数字を打ったときに12文字以上入る(ように見える)、
> ことを「12と制御したけど入力できてしまう」とおっしゃってる……ことはないですよね…?


// 
            // txtDisp
            // 
            this.txtDisp.Font = new System.Drawing.Font("HG創英プレゼンスEB", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
            this.txtDisp.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtDisp.Location = new System.Drawing.Point(13, 11);
            this.txtDisp.MaxLength = 12;
            this.txtDisp.Name = "txtDisp";
            this.txtDisp.RightToLeft = System.Windows.Forms.RightToLeft.No;
            this.txtDisp.Size = new System.Drawing.Size(196, 34);
            this.txtDisp.TabIndex = 17;
            this.txtDisp.Text = "0";
            this.txtDisp.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;


「Designer.cs」に書いてあるのを一応載っけてみます。

引用返信 編集キー/
■28152 / inTopicNo.15)  Re[7]: textBoxの文字数制限について。
□投稿者/ C#初心者 (32回)-(2008/11/20(Thu) 16:08:34)
No28150 (.SHO さん) に返信
> ■No28144 (.SHO さん) に返信
>
> >> txtDisp.Text = "0";
>
> って初期化してるけど、この「0」は出てますか?


その「0」は出てます。
引用返信 編集キー/
■28153 / inTopicNo.16)  Re[9]: textBoxの文字数制限について。
□投稿者/ .SHO (116回)-(2008/11/20(Thu) 16:12:07)
No28151 (C#初心者 さん) に返信

>>日本語入力 = 入力時に点線が出る状態で半角数字を打ったときに12文字以上入る(ように見える)、
>>ことを「12と制御したけど入力できてしまう」とおっしゃってる……ことはないですよね…?

これでもない?
引用返信 編集キー/
■28154 / inTopicNo.17)  Re[8]: textBoxの文字数制限について。
□投稿者/ みきぬ (237回)-(2008/11/20(Thu) 16:17:19)
No28152 (C#初心者 さん) に返信
> ■No28150 (.SHO さん) に返信
>>■No28144 (.SHO さん) に返信
>>
>>>> txtDisp.Text = "0";
>>
>>って初期化してるけど、この「0」は出てますか?
>
>
> その「0」は出てます。
Designer.cs と、Load イベントの両方で設定しているからなぁ…。
仮に片方を通過してなくてもわからない。

・コンストラクタと Load イベントにブレークポイントを置いてみて、MaxLength を設定しているコードを通過していること
・画面に表示されている TextBox が、txtDisp であること

を確認してみてわ。
引用返信 編集キー/
■28155 / inTopicNo.18)  Re[10]: textBoxの文字数制限について。
□投稿者/ C#初心者 (33回)-(2008/11/20(Thu) 16:19:26)
No28153 (.SHO さん) に返信
> ■No28151 (C#初心者 さん) に返信
>
> >>日本語入力 = 入力時に点線が出る状態で半角数字を打ったときに12文字以上入る(ように見える)、
> >>ことを「12と制御したけど入力できてしまう」とおっしゃってる……ことはないですよね…?
>

今確認してみたのですが、デバッグしてもtextBoxに直接書き込めちゃいます・・・。
引用返信 編集キー/
■28156 / inTopicNo.19)  Re[9]: textBoxの文字数制限について。
□投稿者/ .SHO (117回)-(2008/11/20(Thu) 16:20:45)
No28154 (みきぬ さん) に返信
> ■No28152 (C#初心者 さん) に返信
>>■No28150 (.SHO さん) に返信
> >>■No28144 (.SHO さん) に返信
> >>って初期化してるけど、この「0」は出てますか?
>>その「0」は出てます。
> Designer.cs と、Load イベントの両方で設定しているからなぁ…。
> 仮に片方を通過してなくてもわからない。
>
> ・コンストラクタと Load イベントにブレークポイントを置いてみて、MaxLength を設定しているコードを通過していること
> ・画面に表示されている TextBox が、txtDisp であること

ホントにtxtDispなのかを確認するために「0」が出てるか聞きました。
引用返信 編集キー/
■28157 / inTopicNo.20)  Re[10]: textBoxの文字数制限について。
 
□投稿者/ .SHO (118回)-(2008/11/20(Thu) 16:22:02)
> ホントにtxtDispなのかを確認するために「0」が出てるか聞きました。

もっとも他のTextBoxも「0」に初期化して重ねてたら確認にはならないけど。。。
引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 | 2 >>

管理者用

- Child Tree -