Thursday, January 14, 2021

ListView에서 Column Headers 표시되지 않는다 왜?

외부 코드에서 ctrl-C ctrl-V로 가져온 경우에

OwnerDraw가 true가 아닌 지 확인해 보자. false로 바꾸면 잘 나올 것이다.

OwnerDraw==true인 경우 DrawColumnHeader, DrawItem, DrawSubItem events에 대한 handers 구현해야 한다.

Item/SubItem은 대개 스스로 구현하겠지만 header에 대해서는 default로 충분할 텐데,

        private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)

        {

            e.DrawDefault = true;

        }


이전 프로젝트에서 OwnerDraw를 구현해 뒀다가 오랜만에 꺼내서 쓰려고 할 때 이런 일이 생길 수 있다.



그 밖에 흔히들 하는 실수는 

 * View property가 Details로 맞춰져 있지 않은 경우

 * listView1.Items.Clear() 하지 않고 listView1.Clear() 해 버리는 경우 

등이 있다.

No comments:

Post a Comment

"Gossip Girl" star Michelle Trachtenberg dies at 39

미셸 트랙튼버그 하우스에서 심장 이식 받았던 환자로 나왔는데 현실에서는 간이식을 받았었구나 가십걸이나 버피더뱀파이어슬레이어 이제 정주행해 볼까... 블로그도 다시 살려 볼까 훠훠