silverlight

[silverlight] 버튼 더블클릭막기

동동(이재동) 2012. 8. 27. 12:48

더블클릭시 클릭 이벤트가 2번 일어나기때문에

 

시간차를 줘서 이벤트가 2번 일어나지 않도록 변경

 

더블클릭해도 두번째 클릭은 return 되기때문에 한번 클릭한 효과과 동일한 효과를 낸다.

 

       System.Windows.Threading.DispatcherTimer timer;
        bool singleClick = false;

 

        /// <summary>
        /// 로드 이벤트
        /// </summary>
        private void CIFControl_Loaded(object sender, RoutedEventArgs e)
        {
            timer = new System.Windows.Threading.DispatcherTimer();
            timer.Interval = TimeSpan.FromMilliseconds(500);
            timer.Tick += new EventHandler(timer_Tick);

         }

        void timer_Tick(object sender, EventArgs e)
        {
            timer.Stop();
            singleClick = false; // expires
        }
       

private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            if (!singleClick)
            {
                timer.Start();
                singleClick = true;
                Debug.WriteLine("Click");
            }
            else
            {
                Debug.WriteLine("Double Click");
                return;
            }

      }