2017-12-06 16 views
1

私はNumericUpDownを持っています。上矢印と下矢印が整数を入力します。すべて設定されていますが、値を手動で入力することを無効にするには、をクリックしてください。私は、ユーザーが上下の矢印だけで値を変更できるようにしたい。誰かがそれを達成する方法を私に導くことができますか?NumericUpDownに上下矢印で入力できるようにするには

enter image description here

現在、私はロジックの一部を処理するためににValueChangedイベントを追加しました。しかし、値が手作業で変更された場合、そのイベントはトリガされません。私を案内してください。

enter image description here

+0

「UIコントロール」とは何ですか? UserControl?カスタムコントロール?それはNumericUpDownのように見えますが、それは何ですか? – Plutonix

+0

Numeric Up Downコントロール – Unbreakable

+0

ユーザーがコントロールを離れるときに起動します。どのように値を入力しても、MinとMaxの間になるように強制されるので、なぜ入力を無効にする必要がありますか?また、結果として得られる 'Value'はDecimalになります – Plutonix

答えて

3

これは、誰かがコントロールにフォーカスがあるキーを押すたびに発生します。

Private Sub NumericUpDown1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles NumericUpDown1.KeyPress 
    e.Handled = True 
End Sub 

それがないすべてが効果的にキー入力を傍受し、キー入力があなたのサブで取引twithされており、キー入力のさらなる処理が起こりませんシステムを教えてくれています。キーイベントの処理に加えて

+0

正しい。そして間違っている。質問の要点は、「ユーザーが上下の矢印だけで価値を変えることができるようにしたい」ということでした。 – DonBoitnott

+0

@DonBoitnott \t 私はコントロールがマウスクリックだけで使用されるように制限されることを意味すると理解しました。上記のコードはこれを強制します。 –

3

、あなたは読み取り専用コントロールの編集部分を行うことができます。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    DirectCast(Me.NumericUpDown1.Controls(1), TextBox).ReadOnly= True 
    DirectCast(Me.NumericUpDown1.Controls(1), TextBox).BackColor= Color.White 
End Sub 

NumericUpDownをカスタムTextBoxButtons一部のカスタムコントロールからなる複合コントロールです。あなたはこれらのコントロールで何でもできます。それらのイベントの処理、プロパティの変更など。

関連する問題