2013-07-10 65 views
2

我的問題很奇怪。我有一個設置,可以拖動滑塊來更改數字的值。此時滑塊的範圍從0到24。用戶可以用'縮放'按鈕來改變滑塊的縮放比例。 「比例」按鈕只是將從滑塊獲得的值相乘。用戶也可以通過'+'和' - '按鈕遞增或遞減數值。到目前爲止,一切OK。C#中滑塊縮放不正確#

但我想嘗試實際更改slider.Maximum屬性。當用戶改變滑塊範圍的比例時,這是如此,滑塊位置將移動以準確地反映較大比例的新數字。然而,當我試圖改變slider.Maximum屬性時,我得到各種奇怪的結果。

所以我滑塊的電流範圍爲0 - 24.如果我嘗試,比方說,

Slider.Maximum += 5; 

從0滑塊的變化範圍 - 32。然後,如果我再次調用該函數,它從0變化 - 42.

我不知道爲什麼它這樣做。任何人都可以幫我理解這一點嗎?

Regards,

-AT。

+0

你是否肯定該線上的最大值真的從24變爲32?如果你調試到它並檢查你顯示的代碼行前後的Slider.Maximum的值,那麼你真的看到了什麼?如果是這樣,我很感興趣! – Tim

+0

你好。當我刪除該行時,縮放沒有問題。實際上,增量增加和減少可以識別適當的最大值,如同輸出應該是最大範圍的文本框一樣。出於某種原因,滑塊本身無法使用。 http://imgur.com/a/rn1SH –

+0

這可能是完全偏離的,但看看這些截圖,看起來它可能與你的乘數有關。在第二個屏幕截圖中,您添加了3,乘數爲1.2。 (24 + 3)* 1.2 = 32(截斷)。第三,你再次加了3,乘數是1.4。 (24 + 3 + 3)* 1.4 = 42也許? – Tim

回答

0

看看這些截圖,看起來它可能與你的乘數有關。

在第二個屏幕截圖中,您已經添加了3個,縮放比例爲1.2。

(24 + 3)* 1.2 = 32(截短的)

在第三,你已經再次加入3和規模爲1.4。

(24 + 3 + 3)* 1.4 = 42

所以在某種程度上你規模影響滑塊,即使我不能完全看到其中的代碼在你的屏幕截圖的小塊。

+0

你說得對。我仍然不知道到底發生了什麼,但是將它從課程中移出來可以解決問題。 –