Farhad Alaydrus - Yet Another Geek's Blog

See also: Other Geeks@INDC

Silverlight 5 : Mendeteksi Double Click Dengan ClickCount

Penggunaan fitur double click terkadang dapat menjadi masalah bagi beeberapa pengguna khususnya orang tua dan anak-anak. Pengguna berusia sangat muda dan sangat tua cenderung memiliki kesulitan dalam melakukan klik debanyak dua kali dengan cepat pada satu titik. Hal ini menyebabkan penggunaan double click menjadi tidak populer dalam aplikasi RIA seperti Silverlight. Namun, ada kalanya double click diperlukan, seperti saat melakukan seleksi teks, atau ketika melakukan manipulasi 2d dan 3d. Untuk mengakomodasi keperluan tersebut, Silverlight 5 beta memperkenalkan konsep ClickCount. ClickCount juga dapat digunakan untuk mencegah klik berkali-kali pada suatu kontrol.

ClickCount merupakan property dari MouseButtonEventArgs yang dapat digunakan untuk menghitung jumlah click yang dilakukan. Berikut adalah contoh penggunaan ClickCount untuk mendeteksi double click:

Andaikan kita punya sebuiah rectangle yang akan kita jadikan sebagai sebuah kontrol.

<UserControl x:Class="MouseClickCountDemo.MainPage"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            d:DesignHeight="300"
            d:DesignWidth="400">
            <Grid x:Name="LayoutRoot" Background="White">
                        <Rectangle x:Name="MyRect"
                                    Width="100"
                                    Height="100"
                                    MouseLeftButtonDown="MyRect_MouseLeftButtonDown"
                        Fill="Blue" />
            </Grid>
</UserControl>

Secara sederhana kita dapat membuat kode event handler C# untuk mendeteksi double click pada rectangle MyRect.

private void MyRect_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    System.Diagnostics.Debug.WriteLine("Click Count: " + e.ClickCount);
    if (e.ClickCount == 2)
        System.Diagnostics.Debug.WriteLine("Saya diklik dua kali alias double click");
}

Dengan ClickCount ini, kita dapat mendeteksi double click dan juga dapat melakukan pencegahan suatu method yang ditrigger dari button atau kontrol lainnya dieksekusi berkali-kali karena user melakukan klik lebih dari satu kali. Semoga bermanfaat.

Share this post: | | | |

Comments

Silverlight 5 : Tidak Hanya Double, Tapi Juga Triple Click Dengan ClickCount - Farhad Alaydrus - Yet Another Geek's Blog said:

Pingback from  Silverlight 5 : Tidak Hanya Double, Tapi Juga Triple Click Dengan ClickCount - Farhad Alaydrus - Yet Another Geek&#39;s Blog

# July 15, 2011 9:37 AM