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

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

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

Re[11]: テキストボックスから数値を入力する際にデフォルトで0が入力


(過去ログ 67 を表示中)

[トピック内 15 記事 (1 - 15 表示)]  << 0 >>

■39056 / inTopicNo.1)  テキストボックスから数値を入力する際にデフォルトで0が入力
  
□投稿者/ ひでこ (10回)-(2009/07/29(Wed) 20:27:30)

分類:[C#] 

いつもお世話様です
開発環境は VISTA VC# ACCESS2000です。
Form1のGridViewに表を作り、Form2のフォーム上のテキストボックスから数値を入力する際にとりあえず関係ないテキストボックスは自動的に0が入力されるようにしたいと思っています。Defaultでそれぞれのテキストボックスにはすでに0が入っている状態を作ろうとしています。そして必要なテキストボックスは数値を入れるというものです。設定の仕方、コードの書き方が探しても見つかりません。参考資料、コードの書き方の分かる方よろしくお願いします。

引用返信 編集キー/
■39063 / inTopicNo.2)  Re[1]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ やじゅ (1152回)-(2009/07/29(Wed) 22:10:32)
やじゅ さんの Web サイト
No39056 (ひでこ さん) に返信
> Defaultでそれぞれのテキストボックスにはすでに0が入っている状態を作ろうとしています。
>

いまいち意味が分かりにくいですね。余分なことを書きすぎなんでじゃ・・・

Enterイベントで、TextBox1.Text = "0" とかじゃ駄目なんですか?

引用返信 編集キー/
■39066 / inTopicNo.3)  Re[2]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ sol (19回)-(2009/07/29(Wed) 22:38:04)
No39063 (やじゅ さん) に返信
> ■No39056 (ひでこ さん) に返信
>>Defaultでそれぞれのテキストボックスにはすでに0が入っている状態を作ろうとしています。
> >
>
> いまいち意味が分かりにくいですね。余分なことを書きすぎなんでじゃ・・・
>
> Enterイベントで、TextBox1.Text = "0" とかじゃ駄目なんですか?
>
やじゅさんに同感です
もう少し分かりやすく書いて頂けませんか?
引用返信 編集キー/
■39150 / inTopicNo.4)  Re[3]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ ひでこ (11回)-(2009/07/30(Thu) 18:29:43)
すみません
VisualC# expressで作成しています。
数個あるTextBoxから数を入力するわけですが入力する必要のない時にはBOXは0でなにもしなくても自動的に入力するようにしたいと考えています。変えていいますとあらかじめ数個のTextBoxすべてに0が入っていて5を入力したい場合0のところに5を入れれば入力されるということなのです。
そのあらかじめを設定したいのです。分かりにくくてすみません。よろしくお願いします。


No39066 (sol さん) に返信
> ■No39063 (やじゅ さん) に返信
>>■No39056 (ひでこ さん) に返信
> >>Defaultでそれぞれのテキストボックスにはすでに0が入っている状態を作ろうとしています。
>>>
>>
>>いまいち意味が分かりにくいですね。余分なことを書きすぎなんでじゃ・・・
>>
>>Enterイベントで、TextBox1.Text = "0" とかじゃ駄目なんですか?
>>
> やじゅさんに同感です
> もう少し分かりやすく書いて頂けませんか?
引用返信 編集キー/
■39164 / inTopicNo.5)  Re[4]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ sol (20回)-(2009/07/30(Thu) 20:55:01)
No39150 (ひでこ さん) に返信
> すみません
> VisualC# expressで作成しています。
> 数個あるTextBoxから数を入力するわけですが入力する必要のない時にはBOXは0でなにもしなくても自動的に入力するようにしたいと考えています。変えていいますとあらかじめ数個のTextBoxすべてに0が入っていて5を入力したい場合0のところに5を入れれば入力されるということなのです。
> そのあらかじめを設定したいのです。分かりにくくてすみません。よろしくお願いします。
>
>
> ■No39066 (sol さん) に返信
>>■No39063 (やじゅ さん) に返信
> >>■No39056 (ひでこ さん) に返信
>>>>Defaultでそれぞれのテキストボックスにはすでに0が入っている状態を作ろうとしています。
> >>>
> >>
> >>いまいち意味が分かりにくいですね。余分なことを書きすぎなんでじゃ・・・
> >>
> >>Enterイベントで、TextBox1.Text = "0" とかじゃ駄目なんですか?
> >>
>>やじゅさんに同感です
>>もう少し分かりやすく書いて頂けませんか?

目先を変えてnumericUpDownを使ってみるのはいかがでしょう

引用返信 編集キー/
■39188 / inTopicNo.6)  Re[4]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ くだん (22回)-(2009/07/31(Fri) 10:46:03)
No39150 (ひでこ さん) に返信
テキストボックスの動作自体変えたいみたいに聞こえる部分については
sol さんに賛成。目的に応じたコントロールを選ぶべきだと思います。

ただ、入力云々は、やじゅさんの提案で十分だと感じます。
追記するとしたら値設定後にテキスト全選択とか?

解決できそうに思える情報が書き込まれているのに、自分の主張を
繰り返すのみでは、まさに話になりません。会話してくださいよ。
示された解決案がいいのか悪いのか、悪いならその理由を。
引用返信 編集キー/
■39190 / inTopicNo.7)  Re[5]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ みきぬ (571回)-(2009/07/31(Fri) 11:08:08)
> 解決できそうに思える情報が書き込まれているのに、自分の主張を
> 繰り返すのみでは、まさに話になりません。会話してくださいよ。
> 示された解決案がいいのか悪いのか、悪いならその理由を。
>
意味がわかりにくいって言われたから説明しなおしてるのに、それを指して
「自分の主張を繰り返すのみ」と切り捨てるのはどうかと思います。

> ただ、入力云々は、やじゅさんの提案で十分だと感じます。
> 追記するとしたら値設定後にテキスト全選択とか?
>
これだと、テキストボックスが選択されるたびに 0 に初期化されてしまいますね。
私は、デザイナのところで "0" を設定してあげるだけで十分な気がします。
(Formのコンストラクタでもいい…まあ同じことだけど)
引用返信 編集キー/
■39191 / inTopicNo.8)  Re[6]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ やじゅ (1162回)-(2009/07/31(Fri) 11:27:04)
やじゅ さんの Web サイト
No39190 (みきぬ さん) に返信
> 私は、デザイナのところで "0" を設定してあげるだけで十分な気がします。
> (Formのコンストラクタでもいい…まあ同じことだけど)

そうなんだよね。
でも、それって質問者さんもすぐに思いつく方法かと思って(^^;
わざわざ掲示板で質問するんだから、それでは駄目な理由があるのかと深読みしてしまう。

引用返信 編集キー/
■39193 / inTopicNo.9)  Re[6]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ なんて無用な気苦労 (1回)-(2009/07/31(Fri) 11:32:38)
COBOL的な入力フィールドを実現したいと読み取りましたが、それをするなら一般的にはこうです
これ以外の方法だと目視しにくいと考えます

Enterイベントで、
String.Format(Valみたいな関数(this.txt1.Text), "#");

Leaveイベントで
String.Format(Valみたいな関数(this.txt1.Text), "0");

あらかじめ0を入れる処理は初期化(デザイナでも可)で実装
引用返信 編集キー/
■39194 / inTopicNo.10)  Re[6]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ みきぬ (572回)-(2009/07/31(Fri) 11:39:21)
2009/07/31(Fri) 11:39:42 編集(投稿者)

> COBOL的な入力フィールドを実現したいと読み取りましたが...

っ「目からウロコで賞」
引用返信 編集キー/
■39223 / inTopicNo.11)  Re[7]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ ひでこ (12回)-(2009/07/31(Fri) 18:15:15)
みきぬさんありがとうございます。
その心使いに大変癒されます。私たち超初心者にとってバサッと斬られると大変心が痛みます。もう質問するのをやめようかとも思うこともあります。もっと勉強しようと思う気になりました。
皆さんのご意見参考にしてトライしまーす!
No39194 (みきぬ さん) に返信
> 2009/07/31(Fri) 11:39:42 編集(投稿者)
>
>>COBOL的な入力フィールドを実現したいと読み取りましたが...
>
> っ「目からウロコで賞」
引用返信 編集キー/
■39238 / inTopicNo.12)  Re[8]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ ひでこ (13回)-(2009/08/01(Sat) 22:12:57)
No39194 (みきぬ さん) に返信
>>2009/07/31(Fri) 11:39:42 編集(投稿者)
>>
> >>COBOL的な入力フィールドを実現したいと読み取りましたが...
>>
>>っ「目からウロコで賞」
引用返信 編集キー/
■39239 / inTopicNo.13)  Re[9]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ ひでこ (14回)-(2009/08/01(Sat) 22:40:53)
No39194 (みきぬ さん) に返信
みきぬさんに教えていただきたいのですが
デザイナでいろいろ設定を試みたのですがうまくいきませんでした。
TextBoxのプロパティでDataBindings 詳細 フォーマットと詳細バインド OnpropertyChanged
形式の欄は 数字 Null値は0 小数点以下 0 で設定しましたがうまくいきません。よろしくお願いします
DataBaseは ACCESS2000 VisualC# EXPRESS  VISTA
ACCESSのテーブルではすでに0が設定されているのです。ですからForm1のGrideViewにドラッグすれば0が入力されていいはずなんですが。
Form2入力画面 

---------
0
---------
0
---------
0
---------
上記のような感じで三つのTextBoxに何も入力しなければ0が入力され、0のところにに数字を5と入れれば5が入力される。よろしくお願いします。
引用返信 編集キー/
■39242 / inTopicNo.14)  Re[10]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ みきぬ (576回)-(2009/08/03(Mon) 18:53:04)
正直なところ、自分の理解力に全然自信はありません。
なので下記の予想が外れていれば、これ以上私にできることはないです。
(もうちょっと状況が分かり易く説明されていれば別ですが)

----- 以下すべて勘

【背景】
・Windows フォーム(GridView と書いてるのは、DataGridView の間違いだろう)
・Form1 に DataGridView を貼り、これを一覧画面として使っている(ここは今回の質問とは関係ないと思う)
・Form2 に複数の TextBox があり、これを登録画面として使っている
・TextBox は 〜BindingSource を使って、〜DataSet のテーブルのカラムとバインドしている。初期値はここで設定している

【やりたいこと】
・TextBox には、初期値として 0 を表示させたい(設定しているはずなのに表示されない)
・TextBox にフォーカスがないときは 0 ではなく空欄表示にするとか、そういった COBOL 的な制御は必要ない

【原因】
・Form2 の初期処理で 〜BindingSource.AddNew() を呼んでいないので、データバインドの状態が新規登録モードになっていない(ので、初期値も表示されていない)
・おそらく、Form2 の登録処理で 〜BindingSource.EndEdit() と 〜TableAdapter.Update(DataTable) も呼んでいないので、登録もされていないと思う

引用返信 編集キー/
■39248 / inTopicNo.15)  Re[11]: テキストボックスから数値を入力する際にデフォルトで0が入力
□投稿者/ ひでこ (15回)-(2009/08/03(Mon) 22:05:41)
ありがとうございます。
みきぬさんのおっしゃるとおりです。
あまりにも初心者ゆえ表現が乏しくご迷惑お掛けします。
【原因】の部分を考えて工夫してみたいと思います。
No39242 (みきぬ さん) に返信
> 正直なところ、自分の理解力に全然自信はありません。
> なので下記の予想が外れていれば、これ以上私にできることはないです。
> (もうちょっと状況が分かり易く説明されていれば別ですが)
>
> ----- 以下すべて勘
>
> 【背景】
> ・Windows フォーム(GridView と書いてるのは、DataGridView の間違いだろう)
> ・Form1 に DataGridView を貼り、これを一覧画面として使っている(ここは今回の質問とは関係ないと思う)
> ・Form2 に複数の TextBox があり、これを登録画面として使っている
> ・TextBox は 〜BindingSource を使って、〜DataSet のテーブルのカラムとバインドしている。初期値はここで設定している
>
> 【やりたいこと】
> ・TextBox には、初期値として 0 を表示させたい(設定しているはずなのに表示されない)
> ・TextBox にフォーカスがないときは 0 ではなく空欄表示にするとか、そういった COBOL 的な制御は必要ない
>
> 【原因】
> ・Form2 の初期処理で 〜BindingSource.AddNew() を呼んでいないので、データバインドの状態が新規登録モードになっていない(ので、初期値も表示されていない)
> ・おそらく、Form2 の登録処理で 〜BindingSource.EndEdit() と 〜TableAdapter.Update(DataTable) も呼んでいないので、登録もされていないと思う
>
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -