创建一个Slider控件,该控件将以2的幂递增或递减

时间:2010-04-23 08:36:42

标签: c#

如何使滑块仅以2的力量移动

2 个答案:

答案 0 :(得分:1)

假设您正在使用WPF,请使用Designer创建滑块控件和标签控件。双击滑块,它将自动生成一个事件处理程序,当您移动滑块时调用该处理程序。在其中,编写代码如下:

private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
            label1.Content = Math.Pow(2, (int)(e.NewValue) ); ;
    }

“e”的滑块值默认为0-10。我正在截断它以得到整数,然后用它来提高2。

要获得更多值,请将e.NewValue相乘,以便新代码如下所示:

private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
            label1.Content = Math.Pow(2, (int)(e.NewValue*5) ); ;
    }

请记住添加限制检查。

即使你没有使用WPF,这个想法也是类似的,只要你使用Visual Studio,双击Control就会创建它的默认事件处理程序。您可以通过检查控件的属性来查看所有事件。请注意,随着事件处理程序的创建,滑块XAML将从

更改
<Slider Height="22" Name="slider1" Width="380" />

<Slider Height="22" Name="slider1" Width="380" ValueChanged="slider1_ValueChanged" />

答案 1 :(得分:0)

您可以隐藏数字并在内部使用它们来计算2的功效。在滑块旁边显示该值。

您必须以编程方式执行此操作,我想处理ValueChanged事件是一个起点。