今回は
RepeatButton(System.Windows.Controls.RepeatButton)です。
まずはMSDNの説明を見てみましょう。
コントロールが押されてから離されるまで、その Click イベントを繰り返し発生させるコントロール
説明の通り、RepeatButtonコントロールはボタンを押下中に連続してClickイベントを発生させるコントロールです。
まずは実装例を見てみましょう。
- XAML -
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" SizeToContent="WidthAndHeight">
<StackPanel>
<Slider Name="Sample_Slider" Minimum="0" Maximum="10" Margin="5" />
<StackPanel Orientation="Horizontal">
<RepeatButton Delay="1000" Interval="1000"
Margin="5" Click="Down_Click" Width="60">▼</RepeatButton>
<RepeatButton Delay="1000" Interval="1000"
Margin="5" Click="Up_Click" Width="60">▲</RepeatButton>
</StackPanel>
</StackPanel>
</Window>
- VB -
Class Window1
Private Sub Down_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Sample_Slider.Value -= 1
End Sub
Private Sub Up_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Sample_Slider.Value += 1
End Sub
End Class
- C# -
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Down_Click(object sender, RoutedEventArgs e)
{
Sample_Slider.Value--;
}
private void Up_Click(object sender, RoutedEventArgs e)
{
Sample_Slider.Value++;
}
}
RepeatButtonにはボタン押下後のClickイベントが発生するまでの時間(ミリ秒単位)を設定する
Delayプロパティと、Clickイベントの繰り返し間隔の時間(ミリ秒単位)を設定する
Intervalプロパティがあります。
上記例では2つのRepeatButtonにDelayプロパティとIntervalプロパティに1秒の時間を設定しています。簡単にその効果を出すために、Sliderコントロールを配置し、各RepeatButtonのClickイベントハンドラにてSliderコントロールの値を加減しています。実装例の画像では丁度5秒経過した時点でボタン押下を止めた画像です。
RepeatButtonコントロールは連続するClickイベントの特性を活かして、ボリュームコントロールのボタン等に使用される事があります。
実装例からも分かるとおり、とても簡単なコントロールです。
今回は「RepeatButton」コントロールでした。
to be continue・・・