블로그 이미지
생각처럼

카테고리

전체보기 (209)
TOOL (1)
다이어리 (1)
Bit (200)
HELP? (0)
Total
Today
Yesterday

달력

« » 2025.2
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

공지사항

태그목록

최근에 올라온 글

DragDrop 이벤트 설정시 좌표 인식이 잘못되는 현상이 발생할수있다

 

이는 현제 폼이 아닌 전체 스크린에 좌표를 가지고 오는중 생기는 문제점으로

 

해결방법이 여러가지가 있지만 간단한 해결방법은

 

PointToClient 함수사용

 

Dim pt As Point = Me.PointToClient(New Point(e.X, e.Y)) '현재 폼기준의 좌표를 가지고 온다.

 

하지만 이경우에도 문제점이 발생할수 있다

 

Dim targetIndex = lstPage1.GetItemAt(pt.X, pt.Y) '좌표를 기준으로 이동할 위치 데이터 가지고온다

이함수를 사용하여 좌표를 가지고 리스트뷰의 아이템을 가지고 오려는데

 

인식이 안된다

 

이유는

 

빨간 색으로 표시된 부분의 좌표를 제대로 인식못한다

 

DragDrop 함수내에서

PointToClient 함수를 사용하여 좌표를 구하면 이폼 전체를 인식한다

하지만

DragDrop 함수내에서

Dim targetIndex = lstPage1.GetItemAt(pt.X, pt.Y) 이함수를 사용하여 좌표를 적용시킬때는

 

리스트 뷰의 내부에서 의 좌표만 정상적으로 인식을 한다.

 

하여 빨간색으로 표시된 부분이 차지하는값을 날려버려야한다

pt.X = pt.X - ToolStrip1.Size.Width  이런식으로 좌표값을 빼준다

Posted by 생각처럼
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함