【问题标题】:Incorrect Slider scaling in C#C# 中不正确的滑块缩放
【发布时间】:2014-04-01 23:43:51
【问题描述】:

我的问题很奇怪。我有一个设置,可以拖动滑块来更改数字的值。滑块的范围现在从 0 到 24。用户可以使用“比例”按钮更改滑块的比例。 “比例”按钮只是乘以从滑块获得的值。用户还可以使用“+”和“-”按钮逐步增加或减少该值。到目前为止一切正常。

但我想尝试实际更改 slider.Maximum 属性。因此,当用户更改滑块范围的比例时,滑块位置将移动以在更大的比例上准确反映新数字。但是,当我尝试更改 slider.Maximum 属性时,会得到各种奇怪的结果。

所以我的滑块的当前范围是 0 - 24。如果我尝试,比如说,

Slider.Maximum += 5;

滑块的范围从 0 - 32 变化。然后如果我再次调用该函数,它会从 0 - 42 变化。

我不知道它为什么这样做。任何人都可以帮我理解这一点吗?

问候,

-AT。

【问题讨论】:

  • 你确定那条线上的最大值真的从 24 变为 32 吗?如果您调试它并在您显示的代码行之前和之后检查 Slider.Maximum 的值,那真的是您所看到的吗?如果是的话,我很感兴趣!
  • 嗨蒂姆。当我删除那条线时,缩放没有问题。事实上,递增和递减可以识别适当的最大值,就像输出应该是最大范围的文本框一样。出于某种原因,滑块本身只是失败了。 imgur.com/a/rn1SH
  • 这可能完全不合时宜,但看看这些屏幕截图,它看起来可能与您的乘数有关。在第二个屏幕截图中,您添加了 3,乘数为 1.2。 ( 24 + 3 ) * 1.2 = 32 (截断)。在第三个中,您再次添加了 3,乘数为 1.4。 (24 + 3 + 3) * 1.4 = 42。也许?
  • 我不认为我会使用我的“比例”数字来影响该范围,但是这个数字加起来如此完美,肯定有什么事情发生了。我现在看一下并报告。 (感谢到目前为止的帮助!)
  • 宾果游戏!我把它从那个函数中取出,放到一个新的空白函数中,然后砰!它现在像预期的那样工作。非常感谢,蒂姆!

标签: c# slider max


【解决方案1】:

查看这些屏幕截图,它看起来可能与您的乘数有关。

在第二个屏幕截图中,您添加了 3,比例为 1.2。

( 24 + 3 ) * 1.2 = 32(截断)

在第三个中,您再次添加了 3,比例为 1.4。

(24 + 3 + 3) * 1.4 = 42

所以不知何故,您的比例正在影响滑块,即使我无法完全看到屏幕截图中一小段代码的位置。

【讨论】:

  • 你是对的。我仍然不知道它到底发生在哪里,但是将它移出那个按钮类就解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
相关资源
最近更新 更多