기본적으로 사용자가 키를 누르면 마우스 커서 아래의 항목을 찾으려는 기능을 구현하려고합니다.목록 뷰 컨트롤에서 마우스 커서로 항목 가져 오기?
그래서 마우스 이벤트를 사용하지 않고 ListViewItem을 제공하지 않는 키보드 이벤트를 사용합니다.
마우스 위치를 가져 와서 컨트롤의 공간으로 변환해야하는 공간이 얼마인지 알 수 없습니다.
아이디어가 있으십니까?
기본적으로 사용자가 키를 누르면 마우스 커서 아래의 항목을 찾으려는 기능을 구현하려고합니다.목록 뷰 컨트롤에서 마우스 커서로 항목 가져 오기?
그래서 마우스 이벤트를 사용하지 않고 ListViewItem을 제공하지 않는 키보드 이벤트를 사용합니다.
마우스 위치를 가져 와서 컨트롤의 공간으로 변환해야하는 공간이 얼마인지 알 수 없습니다.
아이디어가 있으십니까?
당신이에 관심이있는 ListView를 제어 알고있는 경우, 다음과 같은 방법은 트릭을 할 것입니다 :
private ListViewItem GetItemFromPoint(ListView listView, Point mousePosition)
{
// translate the mouse position from screen coordinates to
// client coordinates within the given ListView
Point localPoint = listView.PointToClient(mousePosition);
return listView.GetItemAt(localPoint.X, localPoint.Y);
}
// call it like this:
ListViewItem item = GetItemFromPoint(myListView, Cursor.Position);
감사합니다. 프레드릭, 오늘 제가 이것을 시도 할 것입니다. –
마우스 이벤트 핸들러 안에서이 작업을 수행하는 경우 MouseDoubleClick, MouseEventArgs.Location은 이미 클라이언트 상대이므로 PointToClient()를 호출하지 않으려합니다. – dlchambers
마우스 위치에 따라 키보드의 동작이 조금 정통 소리를. 키보드 동작은 일반적으로 이전 키보드 동작에 의해 선택되거나 해당 항목에 대한 이전 마우스 클릭에 의해 화면에서 강조/집중/선택된 일부 항목에 영향을줍니다.
"마음에 새기는 것"이 있거나 "독창적 인"(혼란스러운) 사용자 상호 작용으로 끝날 것입니다.
사람을 걱정하지 마십시오.이 기능을 직접 추가하여 직접 개발할 수 있습니다. 그것은 최종 버전에 없을거야 :) –
[devX article] (http://www.devx.com/vb2themax/Tip/18831)은 사용자가 찾고있는 것에 대해 이야기합니다. –