2014-12-04 2 views
-1

listview를 사용하여 데이터로 채우고 mouseclick 이벤트를 사용하여 일부 텍스트 상자에 데이터를 채 웁니다. 내가 MSDN의 예를 보았다 :마우스 클릭 이벤트를 사용하여 ListViewItem 텍스트 받기

ListViewItem theClickedOne = listView1.GetItemAt(e.X, e.Y); 
ListViewItem theClickedtwo = listView1.FocusedItem; 
if (theClickedOne != null) 
{ 
    MessageBox.Show(theClickedtwo.ToString()); 
    //do your thing here. 
    //there is a reference to the listview item we clicked on 
    //in our theClickedOne variable. 
} 

을하지만 난 내 프로그램에서 주먹 열이 동일하므로 사용 listviewitems을 구별하기 위해 사용하는 방법에 대해 생각하지 수 있으며, 단지 줄 것이다 나 그것의 이름 (첫 번째 열) 문자열. 다음 예제와 비슷한 있지만 treeview 있습니다. 당신에게 ListView을 채울 때

void treeView1_NodeMouseClick(Object sender, TreeNodeMouseClickEventArgs e) 
{ 
    MessageBox.Show(e.Node.Text); 
} 
+2

나는 일반적으로 요소의 Tag 속성을 설정합니다. 그것에 대해 살펴보십시오. – helb

+0

"다음 예제와 비슷하지만 treeview를 원합니다." -- 뭐? 'ListView' 컨트롤이나'TreeView'로 이것을하고 싶습니까? 마지막 문장까지 대부분의 게시물은'ListView '라고합니다. –

+0

나는 내 코드에서 treeview와 mouseclick 이벤트를 사용하기 때문에 그것을 사용하고 문자열을 식별하는 방법을 얻는 것이 더 쉬웠다. 목록보기가 동일하고 다른 점이 있다고 생각했다. – user3365107

답변

0

는, 예를 들어, 항목의 Tag 속성을 설정

newItem.Tag = "Item 1"; 

Tag 속성은 당신이 항목을 식별하려면 여기를 원하는 무엇이든 사용할 수 있도록, object을 입력있다. 마우스 클릭 이벤트를 처리 할 때는 다시 Tag 값을 확인하십시오.

if((string)(clickedItem.Tag) == "Item 1") 
{ 
    // do stuff for this specific item. 
} 
+0

'class p = (Class) (theClickedtwo.Tag);와 같이 클래스에 대한 포인터로 태그를 전달했습니다. – user3365107

관련 문제