我有一個應用程序在WinForms中,我有很多控件。這些控件代表應用程序的設置,用戶可以通過單擊按鈕保存此設置。NumericUpDown無效值
我試圖解決一個問題的NumericUpDown(我將其稱爲NUM)控制:讓我們說,民具有以下屬性:
最低:10 最大:60 步驟:1
如果用戶想要更改值,有兩種方法可以實現這一點:單擊箭頭(Num的右側)或手動將值直接輸入到Num。第一種方法是好的,但大多數用戶使用第二種方式,並且存在一些小問題。
如果用戶在示例1的時間間隔外鍵入某個值,則表示確定,因爲他可以繼續使用5鍵入,因此最終值爲51,這在間隔內。但是,如果他在值1之後停止鍵入,這意味着他鍵入的值超出了區間(1)。如果他在Num之外的地方點擊,則值(不在間隔內)會自動更改爲最接近的允許值(如果是1,則值將更改爲10)。
但他可能不會注意到這種自動變化,所以我想以某種方式處理它,並通知他,他將無效的價值。但是這種情況並不是由任何Num事件來處理的(如果我試圖讀取ValueChanged事件中的值,它會自動讀取已更改的值,而不是無效的值),但無法找到他放在那裏的無效值。
我知道我可以添加TextChanged
事件,但有一個問題,如果他輸入一些無效值(5),它可以改爲有效值(通過加1使得它爲15)。
你有什麼想法如何解決這個問題?我知道這很愚蠢,但這不取決於我,我必須這樣做,我不知道如何。
但是如果用戶想要用箭頭設置該值會怎麼樣?如果沒有設置最小和最大值,他可以很容易地通過這個箭頭去無效的值... – DanielH
使用Num.ValueChanged值保持在限制範圍內。 – OSKM