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

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

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

NumericUpDownの空白入力について


(過去ログ 6 を表示中)

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

■6095 / inTopicNo.1)  NumericUpDownの空白入力について
  
□投稿者/ とら 二等兵(3回)-(2006/08/29(Tue) 11:18:49)

分類:[C#] 


分類:[C#] 

NumericUpDownコントロールを使用して数値の入力を行なう場合に、
文字列を全て削除すると、Valueプロパティの値が更新されないよう
なのですが、皆さんはどのように対処されていますか?

具体的には次のようなオペレーションです。

1.NumericUpDownに「0」と表示されているときにValueを参照すると
値:0が取得できる(当然ですが・・)

2.NumericUpDownに「123」と入力しValueを参照すると、値:123
が取得できる(これも当然ですが・・)

3.NumericUpDownに表示されている数字をDelもしくはBSキーなどで
全て削除したときにValueを参照すると、前回の入力値の123が
取得できてしまう。(見た目は、空白のまま)

文字列が何も無い状態かどうかが判断できるか、空白は0とみなすとか
の振る舞いをしてくれると、何とか成るのですが、そのままですと
実際の入力時点でかなり違和感を感じると思います。

そもそも、NumericUpDownをそのまま使用すること自体がまれで、
ユーザーコントロールを作成するとか、市販のコントロールを購入して
使用するほうが一般的なのでしょうか?

ご意見よろしくお願いします。

0
引用返信 編集キー/
■6098 / inTopicNo.2)  Re[1]: NumericUpDownの空白入力について
□投稿者/ Hongliang 曹長(86回)-(2006/08/29(Tue) 12:12:24)
Hongliang さんの Web サイト

分類:[C#] 

Text プロパティで判断すればいいでしょう。
また TextChanged イベントで空白のときに Value プロパティに適切な値を代入しなおすと言う手もあります。

> 空白は0とみなすとかの振る舞いをしてくれると、何とか成るのですが、そのままですと実際の入力時点でかなり違和感を感じると思います。
Minimum / Maximum が両方マイナスだった場合、いったいどういう処理をデフォルトにすればいいのか? などということを考えると、この実装は(プログラマ側から見て)妥当なものだと思います。容易に解決できる部分ですしね。

0
引用返信 編集キー/
■6101 / inTopicNo.3)  Re[2]: NumericUpDownの空白入力について
□投稿者/ とら 二等兵(4回)-(2006/08/29(Tue) 13:11:12)

分類:[C#] 

No6098に返信(Hongliangさんの記事)
> Text プロパティで判断すればいいでしょう。
> また TextChanged イベントで空白のときに Value プロパティに適切な値を代入しなおすと言う手もあります。
>

ご指摘のようにすることで、あっさり片付きました。
ありがとうございました。

実は、プロパティのInteliSenseに出てこないことや、ヘルプに
> このプロパティは、.NET Framework インフラストラクチャをサポートします。独自に作成したコードから直接使用するためのものではありません。
のような記述があったものですから、勝手に使っちゃいけないと思っていました。

と書きながら、微妙に心配になってきたのですが・・・

オーバーライドとかの関係箇所をもう少し勉強してみます。

ありがとうございました。


解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -