블로그 이미지
likeban

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Notice

2011.10.28 14:53 IT


Form에 ListView를 추가합니다.
그리고 생성된 ListView에 DoubleClick 이벤트를 추가합니다.

ListView의 DoubleClick 이벤트는 ListView가 가지고 있는 Item에 관하여서만 발생되는 이벤트입니다.
더욱 구체적으로 설명하자면, 왼쪽의 이미지처럼 ListView에 데이터가 있어서 그 데이터를 더블클릭하면 이벤트가 발생합니다.
하지만, 오른쪽처럼 데이터가 하나도 없는 상태에서는 아무리 더블클릭을 해도 DoubleClick 이벤트가 발생하지 않습니다.

[##_1L_##]          


만약 ListView자체에 DoubleClick 이벤트를 주고 싶다면 좀 번거롭더라도 새로 함수를 만들어야 합니다.

우선 ListView의 속성에서 MouseDown 이벤트를 추가합니다.
MouseDown 이벤트는 ListView의 어느곳을 클릭해도 호출됩니다.


그리고 생성된 MouseDown 이벤트 함수에 아래의 소스를 추가합니다.

        static bool bLogNetworkClickCnt = false;

        static long logNetworkClickTimer= 0;

        private void lv_logNetwork_MouseDown(object sender, MouseEventArgs e)

        {


            if (!bLogNetworkClickCnt)

            { 

                logNetworkClickTimer =DateTime.Now.Ticks;

                bLogNetworkClickCnt = true;

            }

            else

            {

                if (((System.DateTime.Now.Ticks - logNetworkClickTimer) / 10000) < 500)

                {

                    bLogNetworkClickCnt = false;

                    // 더블클릭시 해줄 기능을 추가합니다.

                }

                else

                {

                    bLogNetworkClickCnt = false;

                }

            }

        }

 
 
저는 TickTimer을 사용하여서 0.5초안에 Mousedown 이벤트가 두번 호출되면 더블클릭으로 인식되도록 코딩하였습니다.
저작자 표시 비영리 변경 금지
신고
posted by likeban

티스토리 툴바