アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB2003環境なのですが、NumericUpDownコントロールに
数字以外を入力できるようにしたいのですが
そのようなカスタムコントロールを作る方法がありましたら
教えて頂きたいです。
感じとしてはTextBoxにSpinButtonをくっ付けた感じのものが
欲しいのですが方法がありましたら教えて頂きたいです。

A 回答 (3件)

imogasiさんもいらだっているように、1)数字以外を入力したいのになぜ、NumericUpDownコントロールを検討しているのか、2)テキストボックスでは何が不足なのか、質問文から読み取る事ができません。



なにをやりたいのか、上記の1)2)に答える形で示してもらえれば前に進めると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
NumericUpDownの中で日数や時間を扱いたいと考えています。
●年●月●日等として●のところにカーソルがある状態で
UpDownボタンをクリックするとそこの数字が変わるという感じです。
日付を扱うコントロールでは0日や0時間に対応できないので
別の方法を考えているのですが、NumericUpDownに
文字を入力できるようにしてTextChangeなど変更のイベントを
拾えれば対応できるのではと思いました。
TextBoxとSpinButtonという組み合わせも考えたのですが、
後で使う時に1つのコントロールにまとまっていたほうが便利かとおもいました。
まずはredfox63様にお示し頂いた方法を試してみたいと思います。
どうもありがとうございました。

お礼日時:2009/04/29 11:13

やるとするならUpDownBaseを継承したユーザーコントロールを作成して


UpButton、DownButton、UpdateEditTextをそれぞれOverridesで作成といった具合でしょう

dim _value as Integer
Public Overrides Sub UpButton()
  if _value < 25 then
    _value += 1
  End Sub
  UpdateEditText()
End Sub

Public Overrides Sub DownButton()
  if _value > 0 then
    _value -= 1
  End Sub
  UpdateEditText()
End Sub

Protected Overrides UpdateEditText()
  dim ch as Char() = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  Me.Text = ch( _value )
End Sub
といった具合でしょう

if _value < 25 then

if _value > 0 then
などは適宜修正しましょう
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。これをやりたい理由はsoratombi様の
ところに書いたようなことなのですが、こちらの方法で試してみたいと思います。
少ない情報の中を具体的に教えていただいてどうもありがとうございました。

お礼日時:2009/04/29 11:13

何でそんなことを考える必要が有るのか。

回答者を煩わすのだから、必要理由を書くべき。
NumericUpDownコントロールと文字入力は相容れない。
コンボボックスのスクロールでよいのでは。
思いつきの質問を丸投げで発せられては、回答者は大変。
自分で基礎まで勉強して作れば。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A