NumericUpDownコントロールで現在表示されている値を取得するにはValueプロパティ(Decimal型)を参照します。
下記は[値を取得]ボタンがクリックされたときに現在値を表示する例です。
VBの例
'現在値を取得 Dim value As Integer = NumericUpDown1.Value MessageBox.Show("現在値:" & value.ToString())
C#の例
// 現在値を取得 int value = (int)NumericUpDown1.Value; MessageBox.Show("現在値:" + value.ToString());
Please follow and like us:
コメント
tablelayoutpanelにnumericupdownコントロールをControls.Add()で動的に追加したあと、GetControlFromPosition()でこのコントロールで取得したとき、なぜかValueプロパティが参照できないんですが、原因をご存じないですか?
すみません、自己解決しました。ValueではなくTextを参照することで値を取得できました。なぜそのような挙動になるのかさっぱりわかりませんが…
コードをみていないので推測になりいますが、GetControlFromPosition()の戻り値を NumericUpDown 型にキャストしていないのではないでしょうか?
GetControlFromPosition の戻り値の型は Control 型です。NumericUpDown 型ではないので Value を参照することはできません。
ちなみに、Control 型は Text プロパティを持っています。
例)
あー、なるほど!
めちゃくちゃすっきりしました。ありがとうございます。そもそもControl型にはValueがないから参照しようがないということですね。他のコントロールはキャストしなくてもいい感じに動いてくれていたので、うっかり型のことを忘れていました…